【问题标题】:How to prevent tomcat7 repeat context name in apache proxy setup如何在 apache 代理设置中防止 tomcat7 重复上下文名称
【发布时间】:2014-09-03 18:19:25
【问题描述】:

我有这个问题,我的 apache 使用代理将 http 请求转发到 tomcat(请参阅下面的 apache 虚拟主机配置)。它工作正常,但 web http 请求 http://subdomain.example.com/xyz/images/background2.jpg 以 /xyz/xyz/images/ 的形式到达 tomcat背景2.jpg。上下文名称“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/...

【问题讨论】:

    标签: apache tomcat proxy


    【解决方案1】:

    您需要更新 ProxyPass 设置,如下所示。

    ProxyPass /xyz/ http://www.example.com:8080/xyz/
    ProxyPassReverse /xyz/ http://www.example.com:8080/xyz/
    

    【讨论】:

    • 我的项目以 ../tomcat7/webapps/xyz/.. 的形式放在 Tomcat 中。我的意图是将 subdomain.example.com url 映射到 tomcat 项目 url example.com:8080/xyz,因此设置以上。我也不想将我的项目重命名为 ROOT,因为我了解到它不是 tomcat 推荐的。
    猜你喜欢
    • 1970-01-01
    • 2016-04-12
    • 1970-01-01
    • 2017-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-26
    • 2016-05-09
    相关资源
    最近更新 更多