将ssl_buffer_size设为1400字节并同步开启tcp_nodelay on、ssl_protocols TLSv1.3和ssl_stapling on,是降低移动端TTFB最直接有效的组合,确保首个HTTP响应“一包发出”,避开分片、延迟确认和Nagle合并;1400适配弱网常见MSS(1360–1400),留有余量避免丢包重传,且须通过Wireshark抓包与弱网实测验证生效。
把 ssl_buffer_size 设为 1400 字节,并同步开启 tcp_nodelay on、ssl_protocols TLSv1.3 和 ssl_stapling on,是降低移动端首字节响应延迟(TTFB)最直接有效的组合。它不改变握手流程,但能确保首个 HTTP 响应数据“一包发出”,避开分片、延迟确认和 Nagle 合并三重卡点。
移动端真实链路中,MSS(最大分段长度)常被基站、运营商网关或云 LB 压至 1360–1400 字节。若 ssl_buffer_size 超过该值,加密后的首个 TLS record 就会超出 TCP 段容量,触发内核分片:
单独调小 ssl_buffer_size 几乎无效,甚至可能因行为错位加剧延迟:
Nginx 1.25.1+ 支持在 location 块中覆盖该参数,避免全局一刀切:
不能只看配置是否加载,要抓包确认行为变化:
tls && tcp.len > 0,检查 TLS Application Data record 的 Length 是否稳定在 1400±50 字节HTTP/1.1 200 OK 或响应头tc qdisc add dev eth0 root netem delay 100ms loss 2%,再用 curl -w "TTFB: %{time_starttransfer}n" -k https://yoursite/ 多轮采样对比