首页/安全/加密与证书速查/HTTP/2 启用与排查
本包目录(305 条)
加密算法基础95 条
TLS 与 HTTPS60 条
证书与 PKI30 条OpenSSL 实战30 条证书运维排查49 条密钥管理41 条

HTTP/2 启用与排查

浏览器中的 HTTP/2 通过 ALPN 协商(h2),排查先确认服务端启用且协商成功,再检查回源链路与代理是否降级为 HTTP/1.1。

加密与证书速查安全更新于 2026-10-12
协商检查s_client -alpn h2 观察 ALPN 结果
nginx 指令1.25.1 起使用 http2 on;旧版本为 listen 443 ssl http2
回源proxy_pass 默认走 HTTP/1.x,上游 h2 需要额外支持

验证 h2 协商

验证 h2 协商
openssl s_client -connect example.com:443 -servername example.com -alpn h2 </dev/null 2>&1 | grep -i 'ALPN'
curl -sI --http2 https://example.com/ | head -3
curl -so /dev/null -w '%{http_version}\n' https://example.com/

nginx 配置

nginx 配置
listen 443 ssl;
http2 on;   # nginx 1.25.1 起;旧版本写 listen 443 ssl http2;
升级 nginx 前后注意 http2 指令兼容性,变更后用 nginx -t 校验并复测协商结果。

易错点

  • 改完配置只重启服务,不检查 ALPN 协商结果
  • 以为明文场景也能用 h2(浏览器仅支持基于 TLS 的 h2)

数据来源与参考

  • RFC 9113(HTTP/2)
  • nginx 官方文档(ngx_http_v2_module)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌