控制 keepalive 长连接

2023-12-18 15:03:11 来源/作者: 这里教程网整理 /

本文指浏览器和nginx之间的keepalive ,而且未经抓包工具验证,期待读者验证后留言!

1.首先是Linux系统级别:

[root@ ~]# sysctl -a |grep tcp_keepalive net.ipv4.tcp_keepalive_time = 1200 net.ipv4.tcp_keepalive_probes = 9 net.ipv4.tcp_keepalive_intvl = 75

默认时长2小时。但是默认关闭,具体每次tcp的连接,要由web服务器决定。

2.然后是nginx的全局层级:

http { keepalive_timeout 120s 120s; keepalive_requests 100; server { listen 127.0.0.1:3306 so_keepalive=on; } }

这里全局2分钟,意思是最大不超过。具体每次连接,取决于server级别控制。

3.server级别:

首先,客户端发来的http请求头connection字段,若是none,就不开启keepalive,若字段值是kee-alive,代表请求长连接,于是参考下述。

取值on是指打开,时间取系统级别和全局级别中较小者。

取值具体时间,指取具体时间和上述2者中较小者。