2017-12-13 1 views
0

백엔드 Tomcat 서버가 상대 경로와 함께 302 리디렉션을 보냅니다.ProxyPassReverse가 위치의 상대 경로에 적용되지 않습니다.

HTTP/1.1 302 
Date: Wed, 13 Dec 2017 16:55:05 GMT 
Server: Apache TomEE 
Location: /StoreWeb/catalog/cotton-shirts 
Content-Length: 0 

Apache에서이 역방향 프록시 설정을 사용합니다.

ProxyPass /catalog/ http://localhost:8080/StoreWeb/catalog/ 
ProxyPassReverse /catalog/ http://localhost:8080/StoreWeb/catalog/ 

그러나 이것은 위치 헤더에 아무런 영향을 미치지 않습니다. 아파치는 그것을 그대로 둔다. 어떻게 아파치 변환 할 수 있습니다 :

Location: /StoreWeb/catalog/cotton-shirts 

에 :

Location: /catalog/cotton-shirts 
+0

아마도 도움이 될 것입니다 :'https : // httpd.apache.org/docs/2.4/rewrite/proxy.html' – Hames

답변

0

수행 URL이 ProxyPass의 일환으로 재 작성하는 것은 ™ 나쁜 아이디어이다. 웹 애플리케이션을 URL 공간에 마운트하려는 것과 동일한 URL로 Tomcat에 배포해야하며 이러한 문제가 전혀 발생하지 않습니다. 당신이이 Location 헤더에 URL을 다시 작성 관리 할 경우

, 나는 당신이 다음 StoreWeb에 의해 동적으로 생성 된 모든 페이지에 모든 URL을 다시 작성해야 찾을 수있을 거라 생각 신청. 쿠키를 수정하면 쿠키의 경로가 잘못되었음을 알 수 있습니다. 그리고. 그리고.

응용 프로그램을 동일한 URL 경로에 배포하면 수명이 훨씬 더 짧아집니다.

관련 문제