在Nginx中配置SPDY(现在称为HTTP/2)需要确保你的Nginx版本支持HTTP/2。从Nginx 1.9.5和OpenSSL 1.0.1开始,Nginx支持通过SSL/TLS实现HTTP/2。以下是配置Nginx以使用SSL和HTTP/2的步骤:
安装Nginx:确保你安装了支持HTTP/2的Nginx版本。如果你不确定,可以通过运行nginx -V
来检查编译参数,确保包含了--with-http_ssl_module
和--with-http_v2_module
。
获取SSL证书:你需要一个SSL证书来启用HTTPS。你可以从证书颁发机构(CA)购买一个,或者使用Let’s Encrypt等免费服务生成一个。
配置Nginx:编辑你的Nginx配置文件(通常是/etc/nginx/nginx.conf
或者/etc/nginx/sites-available/yourdomain.com
),添加或修改以下内容:
server {listen 443 ssl http2;server_name yourdomain.com www.yourdomain.com;ssl_certificate /path/to/your/fullchain.pem;ssl_certificate_key /path/to/your/privkey.pem;# 可选:如果你有中间证书,也需要包括进来# ssl_trusted_certificate /path/to/your/chain.pem;ssl_protocols TLSv1.2 TLSv1.3; # 启用TLSv1.2和TLSv1.3ssl_ciphers HIGH:!aNULL:!MD5;# 其他配置...location / {root /var/www/html;index index.html index.htm;}# 其他location配置...}server {listen 80;server_name yourdomain.com www.yourdomain.com;return 301 https://$host$request_uri; # 将所有HTTP请求重定向到HTTPS}
测试配置:在重新加载Nginx之前,使用nginx -t
命令来测试配置文件是否有语法错误。
重新加载Nginx:如果配置测试成功,使用systemctl reload nginx
或者nginx -s reload
来重新加载Nginx,使配置生效。
验证HTTP/2:你可以使用浏览器的开发者工具或者在线服务(如SSL Labs)来验证你的网站是否已经成功启用了HTTP/2。
请注意,随着时间的推移,HTTP/2已经成为标准,而SPDY逐渐被弃用。因此,确保你的配置是针对HTTP/2而不是SPDY。如果你正在使用的Nginx版本较旧,可能需要升级到一个支持HTTP/2的版本。