사용자 도구

사이트 도구


apache:proxy

문서의 이전 판입니다!


Apache Proxy Module

mod proxy & Tomcat

  • # AJP PROXY 연결
    <Location /examples/>
       ProxyPass ajp://localhost:8009/examples/
    </Location>
     
    # Apache의 경로와 Tomcat의 경로(혹은 context root path)가 다를 경우에는 reverse가 필요하다.
    # HTTP PROXY 연결
    <Location /examples/>
    ProxyPass http://localhost:8080/examples/
    ProxyPassReverse http://localhost:8080/examples/
    </Location>
  • 혹은 Location 지정 없이
    ProxyPass         /myapp  http://localhost:8080/myapp
    ProxyPassReverse  /myapp  http://localhost:8080/myapp
  • cookie path 문제 해결 : 만약 Tomcat 애플리케이션의 Context root path와 Apache로 연결된 Path가 다를 경우(ProxyPass / http://localhost:8081/myapp 같은 경우) cookie 의 path 때문에 문제가 발생한다. http://bobforma.blogspot.com/2009/06/having-trouble-with-http-sessions-in.html 참조.
  • ProxyPassReverseCookiePath /internal-app /my-app
     
    # 혹은 / 와 /myapp 형태의 매핑인 경우 server.xml 의 <Connector> 부분에 다음 추가하여 Session Cookie 문제를 해결 할 수 있다.
    emptySessionPath="true" 
  • mod_proxy_http를 사용하면 request.serverName, request.serverPort 값이 비정상적(localhost:8080)으로 나온다. Tomcat server.xml Connector 설정이 필요하다.
    <!-- proxyName 과 proxyPort를 지정해야만 한다. -->
    <Connector proxyName="www.example.com" proxyPort="80" port="8080" protocol="HTTP/1.1" redirectPort="8443" />
  • Connector 에 proxyName과 proxyPort 를 지정할 경우, ProxyPassReverse 설정값에 주의해야 한다. 아래와 같이 proxyName 에 지정된 도메인명을 reverse 프록시에 지정해야 한다.
    ProxyPassReverse /myapp/ http://www.example.com:8080/myapp/
  • 예외설정
    ProxyPass /images ! # /images 는 프록시를 안타게 설정한다.
apache/proxy.1306824591.txt.gz · 마지막으로 수정됨: 2011/05/31 15:49 저자 kwon37xi