30秒后nginx websocket连接超时

时间:2018-05-07 20:49:23

标签: node.js nginx websocket

我有一个在nginx服务器上运行socket.io的node.js应用程序。问题是,连接后30秒,nginx会对websocket连接进行计时,即使连接在整个时间内都没有保持空闲状态。这是我的nginx.conf文件;

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

include /usr/share/nginx/modules/*.conf;

events {
    worker_connections 1024;
}


stream {
    upstream cluster {
        least_conn;
        server xx.xxx.xxx.xx:2157;
    }

    server {
        listen 7000;
        preread_timeout 86400s;
        proxy_timeout 86400s;
        proxy_pass cluster;
    }
}

nginx版本是:1.12.2

1 个答案:

答案 0 :(得分:0)

PS:实际上是node.js应用程序本身关闭了客户端的连接。

我已将此行代码io.set('heartbeat timeout', 24*60*60);添加到我的node.js应用程序中,超时不再是问题。