socket.io - 通过 Kong 代理的套接字 Io - 客户端连接保持关闭

标签 socket.io kong

总结

客户端套接字连接不断断开、重新连接、断开……等等

重现步骤

我正在使用 Kong ( https://github.com/Kong/kong ) 作为 API 网关。 websocket 服务器通过 Kong 代理

其他详细信息和日志 图中:左边终端是服务器,右边是客户端。客户端日志显示:

engine.io-client:socket socket 关闭原因:“transport close”+6s socket.io-client:manager onclose +1ms socket.io-客户端:管理器清理+0ms socket.io-client:套接字关闭(传输关闭)+0ms

enter image description here

P/s: 尝试使用 nginx 代理而不是 Kong,它工作正常,客户端套接字连接保持不变。

最佳答案

我也遇到了这个问题,想为任何遇到这个问题的人提供一个可能的线索。就我而言,断开连接背后的原因是 KONG(或 KONG 和我的浏览器之间的某些东西)正在剥离重要的 Connection: keep-aliveKeep-Alive: timeout= 5 响应头。 Socket IO确实发送了一个Connection: keep-alive的请求头,但是KONG似乎忽略了它。

GitHub 上还报告了一个值得跟踪的问题: https://github.com/Kong/kong/issues/3008

我们目前正在对此进行调查,如果发现任何问题,我们会在此处更新。

关于socket.io - 通过 Kong 代理的套接字 Io - 客户端连接保持关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47088643/

相关文章:

redis - 如何将redis与kong api网关一起使用

javascript - 无法使用nodeJS在html中设置Image src

docker - 如何使用 docker 在 alpine 图像上以 root 用户身份运行 bash?苏 : must be suid to work properly

postgresql - docker ,错误: cannot run migrations: database needs bootstrapping;

docker - 如何在etcd或consul中使用kong服务器?

javascript - 如何使用 Socket.io 向特定用户发送数据?

swift - 如何快速连接到 Socket.IO?

python - 使用 Flask-SQLAlchemy 事件 API 广播到 Flask-SocketIO?

python - 如何从websocket端点外部发出websocket消息?