【发布时间】:2015-09-13 20:52:39
【问题描述】:
我有以下设置来屏蔽/重定向带有端口的 url 到代理 例如。
VirtualHost *:80>
ServerName psweb1.example.com
ServerAlias psweb1.example.com
ProxyPass /demo1 http://psweb1.example.com:8002/
ProxyPassReverse /demo1 http://psweb1.example:8002/
</VirtualHost>
这种设置的问题是重定向没有捕获任何相对路径。
例如 psweb1.example.com:8002/main/login/login.jsp 重定向到 psweb1.example.com/demo1/main/login/login.jsp
登录后: 重定向不遵循 psweb1.example.com/demo1/* 的结构 而是尝试返回 psweb1.example.com/*
如何确保正确的映射始终与所有正确的相对路径保持一致? 如:
psweb1.example.com:8002/main > psweb1.example.com/demo1/main
psweb1.example.com:8002/main/login > psweb1.example.com/demo1/main/login
psweb1.example.com:8002/side/* > psweb1.example.com/demo1/side/*
等等等等
【问题讨论】:
-
ServerName psweb1.example.com ServerAlias psweb1.example.com ProxyPass /demo1/ psweb1.example.com:8002 ProxyHTMLURLMap psweb1.example.com:8002 /demo1 ProxyPassReverse psweb1.example.com:8002 SetOutputFilter proxy-html ProxyHTMLURLMap / /demo1/ ProxyHTMLURLMap /demo1 /demo1 RequestHeader unset Accept-Encoding