1

想象一下,您想通过 Apache 启用对管理器Tomcat 应用程序的访问。基本方法是:

ProxyPass /manager ajp://localhost:8009/manager
ProxyPassReverse /manager ajp://localhost:8009/manager

这按预期工作,通过 access 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 中的新功能)。
缺少什么或定义不正确?
(注意:我相信您也可以使用重写规则来做到这一点,但这可能会更简单)

4

0 回答 0