我有一个基于websocket / nodejs的聊天,可与Chrome / Firefox / Edge / Opera(禁用嵌入式vpn)很好地配合使用。
但是,当我在Opera中打开嵌入式VPN时,会随机断开连接。通常,它会在10秒后发生,无论我是否发送邮件。如果我发送邮件,它们都可以顺利通过,直到10秒钟左右断开连接为止。断开连接即使没有任何消息也会发生。
不确定是否可以关联,但是我在配置如下的Apache代理后面使用nodejs(8081之后的HTTP,8080之后的WSS,全部封装在443中):
''
我被困住了,因为我没有在客户端或服务器上收到任何错误消息。
答案 0 :(得分:0)
就我而言,我发现某些请求缺少几个标头,例如Connection: Upgrade
和Upgrade: websocket
。感觉是Opera浏览器上的WebSocket客户端由于未发送这两个标头而出现故障,或者Opera的代理服务器可能降级了客户端的安全Websocket请求,解密并删除了一些标头,因为其他Websocket握手标头(例如{ {1}}保持不变。
我不完全了解您的情况,也许您应该查看日志并查看服务器上收到的标头。当我查看有此问题的负载均衡器的日志时,以某种方式记录的大多数用户代理都是在移动设备上操作的歌剧,在桌面歌剧中已成功连接了vpn的vpn,但有时失败了。