![带有 mod_proxy_ajp 的 Apache2 不会重写 url](https://linux22.com/image/595290/%E5%B8%A6%E6%9C%89%20mod_proxy_ajp%20%E7%9A%84%20Apache2%20%E4%B8%8D%E4%BC%9A%E9%87%8D%E5%86%99%20url.png)
我有 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/