在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.3
ssl_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的版本。