当我尝试从 android stomp 客户端连接到 spring boot web socket时,它没有连接,并且 catalina 日志显示
Handshake failed due to invalid Upgrade header: null
Tomcat 服务器运行在 apache 后面,而 apache 服务器运行在 https 上。我在tomcat中没有添加https.所有 http 请求都重定向到 https 这是我尝试连接到 websocket 的方式
mStompClient = Stomp.over(Stomp.ConnectionProvider.JWS, "wss://chat.example.com/ws/chat/websocket", headers);
但它在本地机器上运行时有效
mStompClient = Stomp.over(Stomp.ConnectionProvider.JWS, "http://10.0.2.2:8080/chat/ws/chat/websocket", headers);
这是我的 stomp 端点设置
registry.addEndpoint("/chat").setHandshakeHandler(new HandShakeHandler()).withSockJS();
我已经启用mod proxy wstunnel
并在虚拟主机配置中添加
ProxyPass / http://localhost:8080/chat/
proxyPassReverse / http://localhost:8080/chat/
ProxyPass /wss/ ws://localhost:8080/chat/
有人知道如何解决这个问题吗?任何帮助都将不胜感激。如果您需要更多详细信息,请询问