Apache-2.4

Apache 集群 + Tomcat websocket

  • October 16, 2017

我們最近使用以下配置配置了一個新集群:

  www.mydomain.com
          |        
   APACHE + MOD_JK (AJP)
    Load Balancer
     /           \
 Tomcat1      Tomcat2

所有請求都是通過 HTTPS 發出的,兩個 tomcat 實例通過 DeltaManager 使用 SessionReplication。

集群和所有 wep 應用程序都執行良好。

現在其中一個 webapps 需要使用帶有 WSS:// 協議的 WebSockets,我得到了這個異常

java.lang.UnsupportedOperationException:此協議不支持 HTTP 升級

有沒有人知道是什麼原因造成的?

您需要安裝 mod_proxy_wstunnel apache 模組。

正如在 tomcat-users 郵件列表中所討論的:“

$$ … $$AJP 協議不支持升級到其他協議(例如 websocket、HTTP/2)。” 這意味著您必須使用其他方法將這些連接代理到您的 Tomcat 實例。正如 Tux_DEV_NULL 提到的,您可以為此使用 mod_proxy_wstunnel。

引用自:https://serverfault.com/questions/878629