不断重新连接到 websocket / 会话 ID 未知 / Etherpad

Posted

技术标签:

【中文标题】不断重新连接到 websocket / 会话 ID 未知 / Etherpad【英文标题】:Constantly reconnecting to websocket / session id unknown / Etherpad 【发布时间】:2018-02-07 20:24:31 【问题描述】:

问题

我们在 Apache 2.4.18 上使用 Etherpad-lite,并且遇到每分钟几次重新连接尝试。 Etherpad 显示一条 消息,上面写着

正在重新连接到您的平板电脑..

紧随其后

已连接

上下文

到 websocket 的连接是通过在 Apache 配置中设置的反向代理实现的,它将 URL 重定向到 Etherpad 正在运行的端口。网络分析显示 Etherpad 在验证会话 ID 时遇到问题。请求结构始终如下:

请求失败:

所选的 GET 请求返回“代码:1 会话 ID 未知”。然后 Etherpad 请求一个新的 sid 并重复该过程。 除了访问日志之外,服务器日志没有显示任何可疑错误,因此我还尝试通过浏览器控制台进行调试,结果如下:

engine.io-client:socket socket error "type":"Transport Error","description":400
socket.io-client:manager Error:xhr poll error
Transport.prototype.onError@..../pad/socket.io/socket.io.js:5433:14

我不知道这个问题是否与 Etherpad 或 Apache/socket.io 配置错误有关,但我已经在 github 上问过这个问题(更多详细信息请参见此处:https://github.com/ether/etherpad-lite/issues/3246),但没有得到答复。

有人知道这里出了什么问题吗?

【问题讨论】:

【参考方案1】:

可能关心的人:我自己发现了错误,原因是我的反向代理配置错误。我使用了错误的协议来访问 websocket(必须通过 ssl 使用“wss:”而不是“ws:”)

【讨论】:

也许更多细节可以帮助其他人避免这个陷阱?

以上是关于不断重新连接到 websocket / 会话 ID 未知 / Etherpad的主要内容,如果未能解决你的问题,请参考以下文章

在 redux-Saga 中重新连接到 webSocket 服务器的标准方法?

对于 websocket 服务器,使用 SSL 会话缓存是一个坏主意吗?

当python中的连接失败时如何重新连接到websocket

聊天应用程序:成功重新连接到 WebSocket 服务器后该怎么办?

dbus 如何重新连接到新的会话总线守护进程

WebSocket+SLB(负载均衡)会话保持解决重连问题