带有 mod_proxy_ajp 的 Apache2 不会重写 url

带有 mod_proxy_ajp 的 Apache2 不会重写 url

我有 apache2 通过 mod_proxy_ajp 在 / 上公开 jboss,并使用提供一些静态内容

ProxyPass /static !
ProxyPass / ajp://localhost:8009/

在 proxy_ajp.conf 中。我需要将 www.example.com 上的所有流量重定向到 example.com,并且它适用于 /static 中的所有静态资源,但如果我检索 www.example.com/hello,则不会重写 URL。

我的虚拟主机配置如下

<VirtualHost *:80>
        ServerName www.example.com
        RedirectMatch 301 (.*) http://example.com$1
</VirtualHost>

<VirtualHost *:80>
        ServerName example.com
</VirtualHost>

哪里出了问题?我认为 proxy_ajp 在通过 apache 之前捕获了请求,然后重定向了 url。

答案1

我认为您忘记了该ProxyPassReverse语句。它具有与该语句相同的参数ProxyPass

尝试:

 ProxyPass        /static !
 ProxyPass        / ajp://localhost:8009/
 ProxyPassReverse / ajp://localhost:8009/

相关内容