要在 nginx 中开启 hsts(http strict transport security),您需要在 nginx 的配置文件中为特定域名或服务器块添加 add_header 指令,以设置 strict-transport-security 响应头。以下是如何在 nginx 中配置 hsts 的基本步骤:
打开 nginx 的配置文件。通常,主配置文件位于 /etc/nginx/nginx.conf,但实际的服务器块配置可能位于 /etc/nginx/sites-available/ 或其他类似的目录中。
找到您要启用 hsts 的服务器块(server block)。这通常是一个包含 server 指令的代码块,其中定义了域名的监听端口和相关的配置。
在该服务器块内添加 add_header 指令来设置 strict-transport-security 响应头。您可以指定一个 max-age 值,它决定了浏览器应该记住只使用 https 访问该域名的时间长度(以秒为单位)。通常,这个值会设置得相对较长,比如一年(31536000 秒)。
以下是一个简单的示例:
nginx
server {
listen 443 ssl;
server_name example.com;
# ssl 配置。
# 添加 hsts 响应头。
add_header strict-transport-security "max-age=31536000;includesubdomains";
# 其他配置
location / {
#
}
}
在这个例子中,max-age=31536000 意味着浏览器将记住只通过 https 访问 example.com 域名一年。includesubdomains 是一个可选参数,它指示浏览器也应该将 hsts 策略应用于该域名的所有子域名。
保存配置文件并重新加载或重启 nginx,以使更改生效。您可以使用以下命令之一来重新加载 nginx 配置:
bash
sudo nginx -s reload
# 或者
sudo systemctl reload nginx
请注意,为了使 hsts 正常工作,您必须确保网站已经通过有效的 ssl 证书配置了 https,并且所有的请求都通过 https 进行处理。
此外,由于 hsts 的安全性质,一旦配置错误,可能导致用户无法再通过 http 访问您的网站。因此,在启用 hsts 之前,请确保您已经充分测试了 https 配置,并确信它可以正常工作。如果您需要在未来禁用 hsts,您必须等待 max-age 指定的时间过去,或者通过其他方式(如清除用户的浏览器缓存)来手动重置浏览器的 hsts 状态。
- 游戏问答
- 答案列表
nginx 怎么开启HSTS[朗读]
加入收藏