首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当我在OpenVPN后面时,浏览器在建立连接一秒后关闭WebSocket连接并返回错误1006

问当我在OpenVPN后面时,浏览器在建立连接一秒后关闭WebSocket连接并返回错误1006
EN

Stack Overflow用户
提问于 2020-08-18 03:42:43
回答 1查看 1K关注 0票数 0

我有一个小超文本传输协议+ WebSocket服务器托管在亚马逊VPS。Index.html使用JS代码连接WebSocket服务器并与之交换数据。当我使用公网IP或域名直接连接我的服务器时,一切正常。

但是,我不希望此服务器公开,因此我将OpenVPN配置为私下连接到此服务器。

有时在OpenVPN上一切都能正常工作,当我在浏览器(Chrome或Opera)中输入本地(内部)服务器的IP地址时,它会成功地加载index.html,连接我的WebSocket服务器,并通过WebSocket连接成功地交换数据。但有时(或几天)在Websocket连接建立后1秒,浏览器会关闭它,错误代码为1006,并且没有任何说明。我的脚本尝试在此之后1秒重新连接WebSocket,但结果始终相同。

我不明白为什么有时一切都能正常工作,而有时我又不能在OpenVPN上使用WebSocket几个小时。

有人能描述一下为什么在OpenVPN上使用WebSocket时会出现错误1006,以及如何通过编码或重新配置Chrome、Opera或OpenVPN来消除错误吗?

EN

回答 1

Stack Overflow用户

发布于 2020-08-29 04:39:47

我发现只有当WS连接的任何一端发送大型消息时,问题才会发生。

我猜想,如果在浏览器和WebSocket服务器之间有一些中间件,比如虚拟专用网、防火墙或代理,那么大的WS消息可能会超过中间件的某些内部包大小或限制,从而在消息传输过程中中断浏览器和服务器之间的连接。这种意外的断开会在浏览器中导致错误1006。

如果您的客户端遇到意外断开并返回错误1006,请尝试最小化您的应用编程接口的WebSocket消息大小。如果您需要发送大量数据,则不要将其作为一个块发送。你最好把它切成小片,然后多发几条短信。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63457584

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档