我目前正在Docker Cloud上开发Websocket应用程序。重新部署我的应用程序时,现在我总是收到此错误消息:
WebSocket连接失败:WebSocket打开握手被取消
在查看数据框时,我看到一个包含此数据的帧:
(操作码-1)
在研究问题时,似乎与SSL /证书等有关。某些解决方案包括添加自签名证书。令人困惑的是,相同的证书似乎适用于https,但不适用于wss:
在使用其他浏览器进行测试时,我发现Safari工作正常。所以我确信服务器实际上在正确的端口上使用正确的证书运行。只有chrome似乎有问题。
我知道堆栈溢出的一些解决方案可以手动添加证书,但由于它适用于Safari并且它不是自签名证书,我认为它应该可以工作。
答案 0 :(得分:5)
根据SSLabs检查网站显示服务器未提供证书链所需的所有部分但错过了链证书:
此服务器的证书链不完整。等级上限为B.
...
连锁问题不完整
...
2额外下载 - 让我们加密权限X3
通过正确配置服务器解决了这个问题后,它应该适用于所有浏览器。目前它可能只适用于某些浏览器,即如果浏览器缓存了访问其他站点(如Firefox)的丢失链证书,或者它是通过下载丢失的链证书(Chrome)来解决配置错误的服务器。