现状核对与设置
现状核对与设置
ss -tino state established '( dport = :443 )' | head
sysctl net.ipv4.tcp_keepalive_time net.ipv4.tcp_keepalive_intvl net.ipv4.tcp_keepalive_probes
# 建议:应用层心跳 < 中间设备空闲超时的一半
# 例:NAT 超时 350s → 心跳 120s
# 内核侧(临时验证):sysctl -w net.ipv4.tcp_keepalive_time=120| 内核默认 | 7200s 才发第一个 keepalive,远大于常见的 300-900s NAT/LB 空闲超时 |
|---|---|
| 对策1 | 应用层心跳/HTTP2 PING 保活(最可靠) |
| 对策2 | 调小 tcp_keepalive_time/intvl,并让中间设备也保活 |
| 指纹 | 闲置一段时间后首个请求超时/被 reset,随后恢复正常 |
单向心跳不够:部分设备只统计双向流量,最好在客户端发起并能收到响应,才算真正刷新会话。