사용자 도구

사이트 도구


apache:proxy

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
apache:proxy [2012/02/14 14:00]
kwon37xi [mod proxy & Tomcat]
apache:proxy [2014/12/03 16:55]
kwon37xi [mod proxy & Tomcat]
줄 34: 줄 34:
 </code> </code>
  
-  * mod_proxy_http를 사용하면 request.serverName, request.serverPort 값이 비정상적(localhost:8080)으로 나온다. [[http://tomcat.apache.org/tomcat-6.0-doc/proxy-howto.html|Tomcat server.xml Connector 설정]]이 필요하다.<code xml>+  * mod_proxy_http를 사용하면 request.serverName, request.serverPort 값이 비정상적(localhost:8080)으로 나온다. [http://tomcat.apache.org/tomcat-6.0-doc/proxy-howto.html|Tomcat server.xml Connector 설정]]이 필요하다. 
 +    * -> 이 문제는 정확히는 Apache가 ''Host'' 헤더를 넘겨주지 않아서이다. 
 +    * ''ProxyPreserveHost on'' 설정을 추가하면 ''Host'' 헤더를 현재 사용자가 요청한 서버 host로 지정을 해주기 때문에 아래 설정이 필요없어진다. 
 +<code xml>
 <!-- proxyName 과 proxyPort를 지정해야만 한다. --> <!-- proxyName 과 proxyPort를 지정해야만 한다. -->
 <Connector proxyName="www.example.com" proxyPort="80" port="8080" protocol="HTTP/1.1" redirectPort="8443" /> <Connector proxyName="www.example.com" proxyPort="80" port="8080" protocol="HTTP/1.1" redirectPort="8443" />
 </code> </code>
  
-  * Connector 에 proxyName과 proxyPort 를 지정할 경우, **ProxyPassReverse** 설정값에 주의해야 한다. 아래와 같이 **proxyName 에 지정된 도메인명과 컨텍스트 패**를 reverse 프록시에 지정해야 한다.<code apache>+  * Connector 에 proxyName과 proxyPort 를 지정할 경우, **ProxyPassReverse** 설정값에 주의해야 한다. 아래와 같이 **proxyName 에 지정된 도메인명과 컨텍스트 패**를 reverse 프록시에 지정해야 한다.<code apache>
 ProxyPassReverse /myapp/ http://www.example.com/myapp/ ProxyPassReverse /myapp/ http://www.example.com/myapp/
  
줄 57: 줄 60:
   * "X-forwarded-for" 헤더에 실제 remote address를 담아서 전달한다.(Apache 버전에 따라 다름)   * "X-forwarded-for" 헤더에 실제 remote address를 담아서 전달한다.(Apache 버전에 따라 다름)
     * 이 헤더에는 IP 값이 여러개 들어갈 수도 있다. L7 -> Apache HTTPD -> Tomcat 이런식으로 올경우 실사용자IP와 L7 IP가 함께 들어가게 된다.     * 이 헤더에는 IP 값이 여러개 들어갈 수도 있다. L7 -> Apache HTTPD -> Tomcat 이런식으로 올경우 실사용자IP와 L7 IP가 함께 들어가게 된다.
 +    * Tomcat은 [[http://tomcat.apache.org/tomcat-6.0-doc/api/org/apache/catalina/valves/RemoteIpValve.html|RemoteIpValue]]를 통해 Remote IP를 보정해 줄 수 있다.
   * [[http://httpd.apache.org/docs/2.3/mod/mod_remoteip.html|mod_remoteip]]를 사용할 수도 있다.   * [[http://httpd.apache.org/docs/2.3/mod/mod_remoteip.html|mod_remoteip]]를 사용할 수도 있다.
apache/proxy.txt · 마지막으로 수정됨: 2014/12/03 16:55 저자 kwon37xi