workerman nginx代理连上后websocket过十秒左右就自动断开的问题

左东

配置如下
截图
截图
截图

客户端发送心跳的间隔是18s,最近突然出现 websocket 客户端连上后10s左右就自动关闭的情况,经过多次调试,发现只有设置客户端心跳间隔是10s 、 $gateway->pingInterval = 10 的情况下才不会自动关闭连接,两边改成其它任意值都会自动断开。
代码里追到 TcpConnection.php 文件中的下面位置断开的
截图

另外不通过 nginx 代理,直接用ip地址去连websocket则不会出现10秒左右自动断开的情况,不知道什么原因?

3252 1 0
1个回答

walkor

查下nginx是不是配置了10秒超时

  • 左东 2021-04-30

    我把客户端发送心跳包的时间改小,比如8s,它也会自动断开,只有恰好10s的时候不会自动断开,太奇怪了

年代过于久远,无法发表回答
🔝