我的后端Tomcat服务器发送带有相对路径的302重定向。

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标头没有任何影响。 Apache保持不变。我如何让Apache转换:

Location: /StoreWeb/catalog/cotton-shirts


至:

Location: /catalog/cotton-shirts

最佳答案

作为ProxyPass的一部分执行URL重写是一个坏主意。您应该将Webapp部署在Tomcat下,并且要与打算将其挂载到URL空间中的URL相同,并且永远不会出现任何这些问题。

如果您确实设法在Location标头中重写了URL,那么我认为您将不得不重写由StoreWeb应用程序动态生成的所有页面中的所有URL。修复这些问题后,您会发现Cookie的路径错误。等等。等等。

只需将您的应用程序部署在相同的URL路径上,您的生活将变得更加轻松。

关于apache - ProxyPassReverse对位置中的相对路径无效,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47798620/

10-13 09:08