【问题标题】:Apache ProxyPass TomcatApache ProxyPass Tomcat
【发布时间】:2013-11-26 06:35:34
【问题描述】:

我在同一台机器上使用 Apache 和 Tomcat 服务器时遇到了一些问题。 我想将虚拟主机 kb.domain 重定向到 tomcat 应用程序 kb。

我在互联网上阅读了一些帖子,但我没有找到解决问题的方法。

我的配置有一个 Apache 服务器 (http://domain) 和在同一台机器上的一个 tomcat 服务器 (http://domain:8080);在我的 Apache 中,我映射了一个响应 kb.domain 的 VirtualHost,如下所示:

服务器名 kb.domain ProxyPass http://192.168.200.3:8080/kb ProxyPassReverse http://192.168.200.3:8080/kb 位置> 虚拟主机>

当我从浏览器调用 kb.domain url 时,他在末尾添加了一个额外的 / 并进入重定向循环。

谁能帮帮我?

谢谢

【问题讨论】:

    标签: java apache tomcat proxypass


    【解决方案1】:

    试试

    <VirtualHost *:80>
        ServerName kb.domain
    
        ProxyPass /kb http://localhost:8080/kb
        ProxyPassReverse /kb http://localhost:8080/kb
    
    </VirtualHost>
    

    如果你想通过而不考虑路径(又名不是 /kb)

    <VirtualHost *:80>
        ServerName kb.domain
    
        ProxyPass / http://localhost:8080
        ProxyPassReverse / http://localhost:8080
    
    </VirtualHost>
    

    【讨论】:

    • 只有当我在末尾添加 kb 时,此配置才能正常工作:例如 kb.domain/kb
    • 将回答。
    【解决方案2】:

    你的 proxpass 指令应该是:

    ProxyPass / http://192.168.200.3:8080/kb/
    ProxyPassReverse / http://192.168.200.3:8080/kb/
    

    【讨论】:

    • 同样的结果。浏览器添加一个额外的 / 并说重定向循环消息
    • @stefanopulze 浏览器在哪里添加了这个额外的斜线,你确定是浏览器在做这个吗?
    • 我第一次在 url 栏中输入“kb.domain”并按 Enter。浏览器显示“kb.domain//”。
    • @stefanopulze 尝试在代理目标的末尾添加一个额外的斜杠:http://192.168.200.3:8080/kb/。看起来可能是tomcat端的mod_dir东西。
    • 天啊,我添加了最后一个 / 现在工作得很好,谢谢各位! :D
    猜你喜欢
    • 2011-01-27
    • 2011-02-06
    • 1970-01-01
    • 1970-01-01
    • 2015-10-15
    • 2018-02-12
    • 2015-11-22
    • 2012-01-30
    • 2012-10-06
    相关资源
    最近更新 更多