GatewayWorker 配置通过nginx转发,客户端定时(每60秒)发送心跳,
心跳间隔设置如下:
// 心跳间隔
$gateway->pingInterval = 30;
$gateway->pingNotResponseLimit = 6;
// 心跳数据
$gateway->pingData = '';
但在测试中发现,连接后1分钟自动断开。心跳正常,之后发现是nginx自动将连接断开了。
Nginx 有个参数:proxy_read_timeout , 默认60秒,表示连接成功后等候后端服务器响应时间,若在该时间端内没有交互nginx会自动断开连接。因为心跳间隔也是60秒所以就自动断开了,应将客户端心跳间隔调小或修改nginx配置(推荐):
nginx 应添加如下配置:
location / {标签:websocket,断开,gateway,60,nginx,自动,心跳,GatewayWorker From: https://blog.51cto.com/sdwml/5789367
...
proxy_read_timeout 300; # 秒
...
}