要在Debian上的Nginx中启用HSTS(HTTP Strict Transport Security),请按照以下步骤操作:
打开Nginx配置文件。通常,它位于/etc/nginx/nginx.conf
或/etc/nginx/sites-available/your_domain.conf
。如果你不确定你的站点配置文件在哪里,可以使用sudo find / -name nginx.conf
命令查找。
在server
块中,添加以下代码:
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload";
这将设置HSTS头,其中max-age
设置为31536000秒(1年)。includeSubDomains
表示所有子域名也将使用HSTS。preload
表示将你的域名添加到HSTS预加载列表中,这是一个由浏览器维护的已启用HSTS的域名列表。请注意,一旦添加了preload
选项,你需要将你的域名提交到HTTPS Everywhere项目,以便将其添加到预加载列表中。
server
块中添加以下代码以重定向所有HTTP流量到HTTPS:listen 443 ssl;
server_name your_domain.com www.your_domain.com;
ssl_certificate /path/to/your/fullchain.pem;
ssl_certificate_key /path/to/your/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';
ssl_prefer_server_ciphers on;
请确保将your_domain.com
替换为你的域名,并将/path/to/your/fullchain.pem
和/path/to/your/privkey.pem
替换为你的SSL证书和私钥文件的路径。
保存更改并退出编辑器。
重新加载Nginx以应用更改:
sudo nginx -t
sudo systemctl reload nginx
现在,你的Debian Nginx服务器已启用HSTS。请注意,HSTS是一种安全功能,因此在实施之前,请确保你已正确配置了SSL证书和重定向。
亿速云提供多种品牌、不同类型SSL证书签发服务,包含:域名型、企业型、企业型专业版、增强型以及增强型专业版,单域名SSL证书300元/年起。点击查看>>