不断重新连接到 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