2014-05-23 3 views
0

I가 "FitnessTracker"바람둥이에서 실행라는 이름의 응용 프로그램 이후 8080 나는 봄 보안을 사용하고, 내가 사용하는 바람둥이에 직접 테스트 할 때 모든 작동 http://localhost:8080/FitnessTracker제거 컨텍스트 이름 - 봄 보안이 mod_proxy_ajp

그때, 도메인 이름을 사용하여 액세스하기 위해 아파치 HTTP 2.2에 mod_proxy_ajp 구성 아래에있는 내 가상 호스트 구성입니다 : 내가 www.testing.com/에 액세스 할 때

<VirtualHost *:80> 
    ServerName www.testing.com 
    ProxyRequests Off 
    ProxyPreserveHost On 
    <Proxy *> 
     Order deny,allow 
     Allow from all 
    </Proxy> 

    RewriteEngine on 
    RewriteRule ^/FitnessTracker/(.*)$ /$1 [P] 

    ProxyPass/ajp://localhost:8009/FitnessTracker/ 
    ProxyPassReverse/ajp://localhost:8009/FitnessTracker/ 
</VirtualHost> 

는 지금 - 그것은 www.testing로 리디렉션됩니다. co.kr/FitnessTracker/login.html

URL에 /FitnessTracker/이없는 방법이 있습니까? URL에서 Tomcat 컨텍스트 이름을 숨기고 싶습니다. 이상적으로 URL을 www.testing.com/login.html으로 보이게하고 싶습니다. 이것이 RewriteRule 때문이지만, 재 작성 규칙을 사용하지 않으면 mod_proxy로 봄 보안이 작동하지 않습니다. 스프링 보안이 리디렉션되기 때문에 컨텍스트 이름과 함께 로그인 페이지.

의견이 있으면 알려주십시오.

답변

0

쿠키 도메인과 쿠키 경로를 다시 쓰는 것을 잊었을 것 같습니다. ProxyPassReverseCookieDomain 지시문을 확인하십시오. 백엔드 관점에서 요청 경로는 여전히 보이야합니다. /FitnessTracker/

+0

URL에 컨텍스트 이름이 없어도 앱을 액세스 할 수있는 방법을 찾고있었습니다. –

+0

http://httpd.apache.org/docs/current를 읽으십시오. /mod/mod_proxy.html#proxypassreverse – gerrytan