nginx WebSocket错误java.lang.IllegalStateException

fnatzsnv  于 2023-03-12  发布在  Nginx
关注(0)|答案(1)|浏览(365)

我们的鳄梨色拉酱服务器(v1.4.0)死了,所以我们恢复了什么文件,我们可以和设置一个新的服务器:
Ubuntu 22.04
鳄梨色拉酱1.5.0
雄猫9.0.73
通过Nginx代理
开放日2023年18月11日2023年1月17日
我们使用LDAP和TOTP身份验证。
获得新的服务器设置后,我们的用户可以登录和连接,但我们看到WebSocket错误每分钟,用户给出红色横幅消息:
The remote desktop server encountered an error and has closed the connection. Please try again or contact your system administrator.
检查我在 Catalina 中看到的Tomcat日志。每次都输出以下内容:

Exception in thread "Thread-4" java.lang.IllegalStateException: Message will not be sent because the WebSocket session has been closed
    at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.writeMessagePart(WsRemoteEndpointImplBase.java:442)
    at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.sendMessageBlock(WsRemoteEndpointImplBase.java:314)
    at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.sendMessageBlock(WsRemoteEndpointImplBase.java:254)
    at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.sendString(WsRemoteEndpointImplBase.java:195)
    at org.apache.tomcat.websocket.WsRemoteEndpointBasic.sendText(WsRemoteEndpointBasic.java:37)
    at org.apache.guacamole.websocket.GuacamoleWebSocketTunnelEndpoint.sendInstruction(GuacamoleWebSocketTunnelEndpoint.java:152)
    at org.apache.guacamole.websocket.GuacamoleWebSocketTunnelEndpoint.access$200(GuacamoleWebSocketTunnelEndpoint.java:53)
    at org.apache.guacamole.websocket.GuacamoleWebSocketTunnelEndpoint$2.run(GuacamoleWebSocketTunnelEndpoint.java:253)

我们没有对RDP或VNC服务器或网络防火墙做任何更改,所以我怀疑是新Guacamole安装的配置有问题。我已经确保服务器构建了所需的所有模块(包括libwebsockets),并尝试了几个不同的Tomcat服务器版本,看看是否有一些bug。
在这一点上,我的想法和没有看到太多的其他尝试从搜索引擎,并会非常感谢任何指导,还有什么要检查。

**编辑:**自从发布后,我还尝试了:

  • 禁用ipv6
  • 升级到openjdk 19
  • Tomcat版本9.0.71和9.0.21(我们之前使用的版本)
  • 鳄梨色拉酱1.4.0(安装失败,不推荐代码)
  • 添加guacd.conf,主机绑定到127.0.0.1(以前我们不需要此功能)

错误仍然存在

amrnrhlw

amrnrhlw1#

问题最终与防火墙相关
简单地允许鳄梨色拉酱通过防火墙并不能保持WebSocket连接,但是使用NAT来转换数据包确实有效

相关问题