我们最近配置了一个新的集群,其配置如下:
www.mydomain.com
|
APACHE + MOD_JK (AJP)
Load Balancer
/ \
Tomcat1 Tomcat2
所有请求均通过 HTTPS 发出,并且两个 tomcat 实例通过 DeltaManager 使用 SessionReplication。
集群和所有 wep 应用程序均运行良好。
现在,其中一个 Web 应用程序需要使用带有 WSS:// 协议的 WebSockets,而我遇到了此异常
java.lang.UnsupportedOperationException:该协议不支持 HTTP 升级
有谁知道这是什么原因造成的?
答案1
您需要安装 mod_proxy_wstunnel apache 模块。
答案2
作为讨论在 tomcat-users 邮件列表上:“[...] AJP 协议不支持升级到其他协议(例如 websocket、HTTP/2)。”
这意味着您必须使用其他方法将这些连接代理到您的 Tomcat 实例。正如 Tux_DEV_NULL 所提到的,您可以使用 mod_proxy_wstunnel 来实现这一点。