温馨提示×

Nginx SSL Debian支持HTTP2吗

小樊
41
2026-10-17 08:34:25
栏目: 云计算

是的,Nginx 在 Debian 上完全支持 HTTP/2,但需要满足几个条件:

1. 必须使用 HTTPS(SSL/TLS)

HTTP/2 在 Nginx 中只能通过 SSL 启用,不能用于纯 HTTP。

2. Debian 版本与 Nginx 版本

  • Debian 9(Stretch)及以上自带 Nginx 已支持 HTTP/2
  • 推荐:
    • Debian 11 / 12
    • Nginx ≥ 1.9.5(实际建议 ≥ 1.18)

查看版本:

nginx -v

3. 编译支持

Debian 官方仓库中的 Nginx 通常已带:

--with-http_v2_module

可确认:

nginx -V 2>&1 | grep http_v2

4. 配置示例

server {
    listen 443 ssl http2;
    server_name example.com;

    ssl_certificate     /etc/ssl/certs/example.com.crt;
    ssl_certificate_key /etc/ssl/private/example.com.key;

    # 推荐 TLS 配置
    ssl_protocols TLSv1.2 TLSv1.3;
}

注意:

  • listen 80; 不能加 http2
  • 不要再写 listen 443 ssl; + 额外 http2 指令(旧写法)

5. 验证 HTTP/2

curl -I --http2 https://example.com

或浏览器开发者工具 → Network → Protocol 显示 h2

6. 常见问题

  • ❌ 使用过旧 OpenSSL → 不支持 TLS 1.3
  • ❌ 反向代理未开启 HTTP/2(默认 proxy 是 HTTP/1.1)
  • ✅ HTTP/2 对性能提升明显(多路复用、头部压缩)

如果你告诉我 Debian 版本 + Nginx 安装方式(apt / 源码),我可以给你更精确的建议。

0 踩