在Debian上為Nginx SSL配置HTTP Strict Transport Security (HSTS) 是一個很好的安全實踐,可以確保瀏覽器始終通過HTTPS連接到你的服務器。以下是詳細的步驟:
如果你還沒有安裝Nginx,可以使用以下命令進行安裝:
sudo apt update
sudo apt install nginx
你可以使用Let’s Encrypt免費獲取SSL證書。首先,安裝Certbot:
sudo apt install certbot python3-certbot-nginx
然后,運行Certbot來獲取并配置SSL證書:
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
按照提示完成證書的獲取和配置。
編輯Nginx配置文件以添加HSTS頭。通常,Nginx的主配置文件位于/etc/nginx/nginx.conf
,但你可能需要編輯特定站點的配置文件,通常位于/etc/nginx/sites-available/yourdomain.com
。
打開你的站點配置文件:
sudo nano /etc/nginx/sites-available/yourdomain.com
在server
塊中添加以下行:
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
這里的max-age=31536000
表示HSTS策略的有效期為一年(31536000秒)。includeSubDomains
表示該策略適用于所有子域名。
保存并關閉文件后,重新加載Nginx以應用更改:
sudo nginx -t # 檢查配置文件是否有語法錯誤
sudo systemctl reload nginx
你可以使用瀏覽器開發者工具或在線工具(如SSL Labs)來驗證HSTS頭是否正確配置。
max-age=31536000; preload
,并提交到Chrome的HSTS預加載列表。通過以上步驟,你就可以在Debian上為Nginx SSL配置HSTS了。