HTTP/2是HTTP协议的主要修订版本,提供了更高效的网络传输性能。以下是使用Nginx配置HTTP/2的详细步骤:
nginx -v
openssl version
在服务器块(server block)中添加或修改以下指令:
server {
listen 443 ssl http2; # 关键修改:添加http2
listen [::]:443 ssl http2;
server_name example.com;
ssl_certificate /path/to/your/certificate.crt;
ssl_certificate_key /path/to/your/private.key;
# 其他SSL优化配置
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:...';
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
# 其他服务器配置...
}
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256';
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
http2_push_preload on;
nginx -t # 测试配置是否正确
systemctl restart nginx # 重启Nginx
使用浏览器开发者工具:
使用命令行工具:
curl -I --http2 https://example.com
使用在线工具:
启用Gzip压缩:
gzip on;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
调整缓冲区大小:
http2_recv_buffer_size 128k;
http2_chunk_size 8k;
限制并发流(可选):
http2_max_concurrent_streams 128;
启用Keepalive:
keepalive_timeout 75;
keepalive_requests 1000;
HTTP/2不生效:
浏览器不支持:
性能问题:
通过以上配置,您的网站将能够利用HTTP/2的多路复用、头部压缩和服务器推送等特性,显著提升页面加载性能。