문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
apache:proxy [2011/03/02 14:55] kwon37xi |
apache:proxy [2014/12/03 16:55] kwon37xi [mod proxy & Tomcat] |
||
---|---|---|---|
줄 1: | 줄 1: | ||
====== Apache Proxy Module ====== | ====== Apache Proxy Module ====== | ||
* [[http:// | * [[http:// | ||
+ | * [[http:// | ||
+ | |||
====== mod proxy & Tomcat ====== | ====== mod proxy & Tomcat ====== | ||
줄 11: | 줄 13: | ||
</ | </ | ||
+ | # Apache의 경로와 Tomcat의 경로(혹은 context root path)가 다를 경우에는 reverse가 필요하다. | ||
# HTTP PROXY 연결 | # HTTP PROXY 연결 | ||
< | < | ||
줄 19: | 줄 22: | ||
* 혹은 Location 지정 없이 <code apache> | * 혹은 Location 지정 없이 <code apache> | ||
- | ProxyPass | + | ProxyPass |
- | ProxyPassReverse | + | ProxyPassReverse |
</ | </ | ||
+ | |||
* cookie path 문제 해결 : 만약 Tomcat 애플리케이션의 Context root path와 Apache로 연결된 Path가 다를 경우(ProxyPass / http:// | * cookie path 문제 해결 : 만약 Tomcat 애플리케이션의 Context root path와 Apache로 연결된 Path가 다를 경우(ProxyPass / http:// | ||
* <code apache> | * <code apache> | ||
ProxyPassReverseCookiePath / | ProxyPassReverseCookiePath / | ||
- | # 혹은 / 와 /myapp 형태의 매핑인 경우 server.xml 의 < | + | # 혹은 / 와 /myapp 형태의 매핑인 경우 server.xml 의 < |
emptySessionPath=" | emptySessionPath=" | ||
</ | </ | ||
+ | |||
+ | * mod_proxy_http를 사용하면 request.serverName, | ||
+ | * -> 이 문제는 정확히는 Apache가 '' | ||
+ | * '' | ||
+ | <code xml> | ||
+ | <!-- proxyName 과 proxyPort를 지정해야만 한다. --> | ||
+ | < | ||
+ | </ | ||
+ | |||
+ | * Connector 에 proxyName과 proxyPort 를 지정할 경우, **ProxyPassReverse** 설정값에 주의해야 한다. 아래와 같이 **proxyName 에 지정된 도메인명과 컨텍스트 패스**를 reverse 프록시에 지정해야 한다.< | ||
+ | ProxyPassReverse /myapp/ http:// | ||
+ | |||
+ | # ProxyPassReverse /myapp/ http:// | ||
+ | </ | ||
+ | * 예외설정< | ||
+ | ProxyPass /images ! # /images 는 프록시를 안타게 설정한다. | ||
+ | </ | ||
+ | |||
+ | ====== ProxyPass 파라미터 ====== | ||
+ | * '' | ||
+ | |||
+ | ====== Proxy HTTP 사용시 발생할 수 있는 문제점 ====== | ||
+ | * 헤더를 전달하지 않는다. | ||
+ | * [[http:// | ||
+ | * remote address 와 remote hostname을 전달하지 않는다. | ||
+ | * " | ||
+ | * 이 헤더에는 IP 값이 여러개 들어갈 수도 있다. L7 -> Apache HTTPD -> Tomcat 이런식으로 올경우 실사용자IP와 L7 IP가 함께 들어가게 된다. | ||
+ | * Tomcat은 [[http:// | ||
+ | * [[http:// |