要在 Nginx 上实现 HTTP Strict Transport Security (HSTS),你需要按照以下步骤操作:
确保你的 Nginx 已经配置了 SSL。如果你还没有配置 SSL,请参考这个教程:https://nginx.org/en/docs/http/web_server.html#ssl
打开你的 Nginx 配置文件。通常,它位于 /etc/nginx/nginx.conf 或 /etc/nginx/sites-available/your_domain.conf。
在 server 块中,找到你的 SSL 配置部分。它应该包含 listen 443 ssl; 和相关的 SSL 证书配置。
在 SSL 配置部分中,添加以下代码:
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload";
这里的 max-age 参数表示 HSTS 策略的有效期,单位为秒。在这个例子中,我们将有效期设置为 1 年(31536000 秒)。includeSubDomains 表示该策略适用于所有子域名,preload 表示将你的域名添加到 HSTS 预加载列表中(需要将域名提交到 https://hstspreload.org/)。
如果你不想立即启用 HSTS 预加载功能,可以删除 preload 参数。
保存配置文件并退出编辑器。
重新加载 Nginx 以应用更改:
sudo nginx -t # 检查配置文件语法是否正确
sudo nginx -s reload # 重新加载配置文件
现在,你的 Nginx 服务器已经启用了 HSTS。请注意,HSTS 是一种安全功能,因此在启用它之前,请确保你的网站已经正确配置了 SSL。