温馨提示×

如何通过Nginx配置HTTP/2支持

小樊
45
2025-12-28 13:56:55
栏目: 编程语言

要通过Nginx配置HTTP/2支持,请按照以下步骤操作:

  1. 确保您使用的Nginx版本支持HTTP/2。HTTP/2在Nginx 1.9.5及更高版本中得到支持。您可以通过运行以下命令来检查您的Nginx版本:
nginx -V

如果您看到HTTP/2在输出中,那么您的Nginx版本支持HTTP/2。

  1. 获取并安装SSL证书。HTTP/2要求使用HTTPS,因此您需要一个SSL证书。您可以使用Let’s Encrypt免费获取SSL证书。安装Certbot以获取和自动更新证书:
sudo apt-get update
sudo apt-get install certbot python3-certbot-nginx

按照提示操作,完成证书的获取和安装。

  1. 修改Nginx配置文件。打开您的Nginx配置文件,通常位于/etc/nginx/sites-available/目录下。找到您的网站配置块,然后进行以下修改:
  • 确保监听443端口的server块中包含ssl on;指令。
  • 添加listen 443 ssl http2;指令,以启用HTTP/2。
  • 确保您的SSL证书和私钥文件路径正确。例如:
ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
  • (可选)您可以添加其他SSL优化设置,例如:
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384';
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
  1. 保存更改并重新加载Nginx配置:
sudo nginx -t
sudo systemctl reload nginx

现在,您的Nginx服务器已启用HTTP/2支持。您可以通过访问https://yourdomain.com来验证HTTP/2是否正常工作。使用浏览器的开发者工具或在线工具(如SSL Labs)检查您的网站是否使用了HTTP/2。

0