【发布时间】:2017-12-09 13:20:03
【问题描述】:
在我们的应用程序中,如果建立为 wss: 的 websocket 连接将被中止,而 ws: 工作正常。
通常,websocket 在几分钟内不再打开。有时最多传输 20-30 帧,有时在再次关闭之前只有一个或没有。 http 响应代码是 101(大多数情况下,有时它似乎在任何内容发送到客户端之前就已中止,在这少数情况下,chrome 网络面板显示刚刚“完成”)。
错误信息各不相同:
javax.net.ssl.SSLException: error:1407609C:SSL routines:SSL23_GET_CLIENT_HELLO:http request
(4000 倍)
javax.net.ssl.SSLException: error:140760FC:SSL routines:SSL23_GET_CLIENT_HELLO:unknown protocol
(1x)
javax.net.ssl.SSLException: error:140940E5:SSL routines:ssl3_read_bytes:ssl handshake failure
(10 倍)
javax.net.ssl.SSLException: error:140E0197:SSL routines:SSL_shutdown:shutdown while in init
(3000 倍)
客户端收到一个 onClose(不是 onError)。
Chrome 调试器列表
-
https://our.domain具有有效证书的“安全”,而 -
wss://our.domain为“未知/已取消”
我试过了
- 铬 62
- 火狐57
(并且:当客户端在服务器的机器上本地运行时会发生相同的行为,因此它不可能是网络问题。)
后端是 tomcat / spring,运行在 AWS EC2 Windows 服务器上。
我会很感激任何帮助 :-) https 和 wss 之间可能有什么区别?
【问题讨论】:
-
事实上,这个问题似乎只发生在我们的服务器运行的 AWS 主机上,在本地运行良好......当然......
-
我在 Windows 机器上遇到了同样的问题。
标签: tomcat amazon-ec2 https websocket windows-server-2012-r2