我有一个在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
答案 0 :(得分:0)
PS:实际上是node.js应用程序本身关闭了客户端的连接。
我已将此行代码io.set('heartbeat timeout', 24*60*60);
添加到我的node.js应用程序中,超时不再是问题。