想象一下,您希望通过Apache启用对经理 Tomcat应用的访问。基本方法是:
ProxyPass /manager ajp://localhost:8009/manager
ProxyPassReverse /manager ajp://localhost:8009/manager
这可以通过访问http://yourdomain/manager
按预期工作。
但是,如果您还想更改名称,则无法正常工作。想象一下,您想通过http://yourdomain/foo
访问它。
ProxyPass /foo ajp://localhost:8009/manager
ProxyPassReverse /foo ajp://localhost:8009/manager
当您访问foo时,地址栏将更改为http://yourdomain/manager
并显示404:此服务器上找不到请求的URL / manager /。
我已经尝试了下面的proxy_html代码,但结果相同:
ProxyPass /foo ajp://localhost:8009/manager
ProxyPassReverse /foo ajp://localhost:8009/manager
SetOutputFilter proxy-html
ProxyHTMLURLMap ^/manager(.*)$ /foo/$1 R
我使用的是mod_proxy_html版本3.0.1,因此没有定义“ProxyHTMLEnable On”(我相信它是3.1中的新功能)。
缺少什么或定义不清楚?
(注意:我相信你也可以用重写规则来做,但这可能会更简单)