我遇到这个问题,我的 apache 使用代理将 http 请求转发到 tomcat(请参阅下面的我的 apache 虚拟主机配置)。它工作正常,但 web http 请求 http://subdomain.example.com/xyz/images/background2.jpg以/xyz/xyz/images/background2.jpg 的形式到达 tomcat。上下文名称“xyz”出现两次,导致在 tomcat 端丢失资源。
你是如何解决这个问题的?
Apache 虚拟主机配置文件
<VirtualHost *:80>
ServerName subdomain.example.com
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
ProxyRequests Off
ProxyPreserveHost On
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://www.example.com:8080/xyz/
ProxyPassReverse / http://www.example.com:8080/xyz/
</VirtualHost>
Tomcat 项目设置:../tomcat7/webapps/xyz/...
最佳答案
您需要如下更新 ProxyPass 设置。
ProxyPass /xyz/ http://www.example.com:8080/xyz/
ProxyPassReverse /xyz/ http://www.example.com:8080/xyz/
关于apache - 如何防止 tomcat7 在 apache 代理设置中重复上下文名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25628712/