我正在使用后端的socket.io库和前端的ngx-socket-io开发一个聊天应用程序。聊天功能在本地环境下运行良好,并且浏览器的网络选项卡中只有一个web套接字连接。
但是,当我在Kubernetes集群上部署代码时,我可以看到web套接字连接没有持续更长时间,之前的web套接字请求被关闭,新的请求被发起,即web套接字连接断开,然后重新连接。
即使在Kubernetes集群中的单个活动实例或服务上,它也不是持久的。
我希望单个web套接字连接持续更长的时间,只有这样我才能有实时聊天工作,否则一旦新的web套接字连接启动,实时聊天就会停止。

发布于 2020-04-08 20:08:38
您需要使用websocket协议对Ingress应用以下注释。请参见示例here
nginx.ingress.kubernetes.io/proxy-read-timeout: 3600
nginx.ingress.kubernetes.io/proxy-send-timeout: 3600发布于 2020-04-20 15:51:28
这个问题是通过使用traefik控制器来解决的,traefik控制器是一种高级控制器,而不是nginx入口控制器。
https://stackoverflow.com/questions/61093147
复制相似问题