HTTP/2是HTTP协议的主要修订版本,可以显著提高网站加载速度。以下是配置Nginx支持HTTP/2的详细步骤:
nginx -v
openssl version
在您的站点配置文件中(通常在/etc/nginx/sites-available/
目录下),找到或添加listen
指令:
server {
listen 443 ssl http2; # 添加http2参数
listen [::]:443 ssl http2;
server_name yourdomain.com;
ssl_certificate /path/to/your/certificate.crt;
ssl_certificate_key /path/to/your/private.key;
# 其他配置...
}
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;
location = /index.html {
http2_push /style.css;
http2_push /script.js;
}
sudo nginx -t # 测试配置
sudo systemctl restart nginx # 重启Nginx
使用浏览器开发者工具:
使用命令行工具:
curl -I --http2 https://yourdomain.com
gzip on;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
expires 30d;
add_header Cache-Control "public, no-transform";
}
brotli on;
brotli_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
通过以上配置,您的网站将能够利用HTTP/2的多路复用、头部压缩和服务器推送等特性,显著提升加载速度。