温馨提示×

debian nginxssl怎么开启http2

小樊
45
2026-09-29 20:38:59
栏目: 云计算

在 Debian 上给 Nginx 开启 HTTP/2,前提是已经配置好 SSL(HTTPS)。步骤如下:


一、前提条件

  1. 已安装 Nginx
    sudo apt update
    sudo apt install nginx
    
  2. 已配置 SSL 证书(如 Let’s Encrypt 或自签)
  3. Nginx 版本 ≥ 1.9.5(Debian 10+ 默认满足)

查看版本:

nginx -v

二、修改 Nginx 站点配置

编辑你的站点配置文件(通常在 /etc/nginx/sites-enabled/ 或 /etc/nginx/conf.d/):

sudo nano /etc/nginx/sites-enabled/default

找到 listen 443 ssl; 这一行,修改为:

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

    ssl_certificate     /etc/ssl/certs/example.com/fullchain.pem;
    ssl_certificate_key /etc/ssl/private/example.com/privkey.pem;

    # 其他配置...
}

✅ 关键点是:

listen 443 ssl http2;

⚠️ 注意:

  • http2 只能加在 SSL 监听端口
  • 不要写成 listen 80 http2;(不支持)

三、检查并重载 Nginx

sudo nginx -t
sudo systemctl reload nginx

四、验证 HTTP/2 是否开启

方法 1:浏览器

  • Chrome → F12 → Network → 点击请求 → Protocol 显示 h2

方法 2:curl

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

看到:

HTTP/2 200

方法 3:在线工具

  • https://tools.keycdn.com/http2-test

五、可选优化(推荐)

ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;

如果你是用 Let’s Encrypt(certbot),一般它会自动支持 HTTP/2,只需确认 listen 443 ssl http2; 存在即可。

需要我帮你检查具体配置文件也可以贴出来。

0 踩