插件窝 干货文章 Nginx开启HTTP/2配置,加速网站访问

Nginx开启HTTP/2配置,加速网站访问

HTTP Nginx 配置 SSL 640    来源:    2025-04-17

Nginx开启HTTP/2配置指南

HTTP/2是HTTP协议的主要修订版本,能显著提高网站性能。以下是在Nginx中配置HTTP/2的详细步骤:

前提条件

  1. Nginx版本1.9.5或更高
  2. 已安装SSL证书(HTTP/2需要HTTPS)
  3. OpenSSL版本1.0.2或更高

配置步骤

1. 检查Nginx版本

nginx -v

确保版本符合要求。

2. 修改Nginx配置文件

编辑站点配置文件(通常在/etc/nginx/sites-available/your_site):

server {
    listen 443 ssl http2;  # 添加http2参数
    listen [::]:443 ssl http2;

    server_name yourdomain.com;

    ssl_certificate /path/to/your/cert.pem;
    ssl_certificate_key /path/to/your/private.key;

    # 其他配置...
}

3. 优化SSL配置(推荐)

ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384';
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
ssl_session_tickets off;

4. 验证配置并重启Nginx

nginx -t  # 测试配置
systemctl restart nginx  # 重启服务

验证HTTP/2是否生效

  1. 使用浏览器开发者工具:

    • Chrome: 打开开发者工具 > Network > 查看Protocol列
    • Firefox: 类似位置查看响应头中的X-Firefox-Spdy
  2. 使用命令行工具:

    curl -I --http2 https://yourdomain.com
    
  3. 在线检测工具:

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

性能优化建议

  1. 启用服务器推送(需要Nginx 1.13.9+):

    http2_push /style.css;
    http2_push /script.js;
    
  2. 调整缓冲区大小:

    http2_recv_buffer_size 128k;
    http2_chunk_size 8k;
    
  3. 限制并发流(可选):

    http2_max_concurrent_streams 128;
    
  4. 启用Gzip压缩:

    gzip on;
    gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
    

常见问题解决

  1. HTTP/2不生效:

    • 确保Nginx版本支持
    • 确认配置中同时有sslhttp2参数
    • 检查SSL证书是否有效
  2. 浏览器不支持:

    • 所有现代浏览器都支持HTTP/2,但需要HTTPS连接
  3. 性能提升不明显:

    • 确保启用了所有HTTP/2优化功能
    • 检查是否有其他性能瓶颈(如图片过大、JS阻塞等)

通过以上配置,您的网站将能够利用HTTP/2的多路复用、头部压缩和服务器推送等特性,显著提升加载速度和用户体验。