【问题标题】:How can I forward websocket request to Apache Tomcat from Apache httpd?如何将 websocket 请求从 Apache httpd 转发到 Apache Tomcat?
【发布时间】:2013-03-02 14:13:46
【问题描述】:

我有像 Apache2 + mod_jk + 两个 Tomcat (7.0.33) 实例这样的服务器设置。现在我正在使用tomcat的气氛。长轮询的气氛工作得很好。但现在我想在大气中使用网络套接字作为传输协议。但似乎 Apache 无法将请求转发给 Tomcat,它给了我错误

无法在 ws://localhost/Myapp/update/?X-Atmosphere-tracking-id=0&X-Atmosphere-Framework=1.1&X-Atmosphere-Transport=websocket&X-Cache-Date 建立与服务器的连接=0&Content-Type=application/json.

【问题讨论】:

    标签: apache tomcat websocket atmosphere


    【解决方案1】:

    从 Apache 2.4.6 开始,Apache httpd 转发/代理 websockets

    【讨论】:

    • 这将更适合评论而不是答案。一旦您have enough reputation,请考虑将其移至对该问题的评论。
    【解决方案2】:

    Mod_Jk 意味着将请求从 HTTP 转换为 AJP/13 协议,这意味着 Web 服务器应该具有处理/处理请求的能力。 使用 mod_proxy 来建立 apache-tomcat 通信可能会更好地为您服务。

    【讨论】:

      【解决方案3】:

      Apache不支持WebSocket,需要使用Ningx或者HAProxy。

      【讨论】:

      • 谢谢。但我只想让 apache 将 webscoket 请求转发给 mod_jk 而不是处理它们。 nignix 或 HAProxy 也会在这方面帮助我。
      【解决方案4】:

      我认为你可以使用一个名为 mod_proxy_wstunnel 的模块来做到这一点

      https://httpd.apache.org/docs/2.4/mod/mod_proxy_wstunnel.html

      我认为最初提出问题时不存在这种情况。在 2.4.5 版本中,Apache 增加了对这个 mod 的支持。

      【讨论】:

        猜你喜欢
        • 2014-02-18
        • 1970-01-01
        • 2010-09-12
        • 2011-04-13
        • 2017-06-29
        • 1970-01-01
        • 1970-01-01
        • 2011-12-27
        • 2016-10-05
        相关资源
        最近更新 更多