如何在 Nginx 中启用 HSTS?
在Nginx中启用HTTP严格传输安全(HSTS)非常简单。你只需要在Nginx的配置文件中添加一个add_header
指令,用于在服务器响应中添加Strict-Transport-Security
头部。以下是具体的步骤:
- 编辑Nginx配置文件:
打开你的Nginx配置文件,这通常位于/etc/nginx/nginx.conf
或者/etc/nginx/sites-available/
目录下的某个文件。 添加HSTS头部:
在server
块中,添加以下配置行:add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
这里的
max-age=31536000
表示浏览器应该在一年(31536000秒)内只通过HTTPS访问网站。includeSubDomains
指示所有子域名也应遵循HSTS策略。always
参数表示这个头部将被添加到每个响应中,无论响应的状态码如何。配置示例:
如果你想要为特定的服务器启用HSTS,可以这样配置:server { listen 443 ssl; server_name example.com www.example.com; # SSL配置 ssl_certificate /path/to/your/certificate.pem; ssl_certificate_key /path/to/your/private.key; # 其他配置... # 添加HSTS头部 add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always; # 你的其他配置... }
检查配置并重启Nginx:
保存配置文件后,检查Nginx配置文件的语法是否正确:sudo nginx -t
如果配置文件没有问题,重启Nginx以应用更改:
sudo systemctl restart nginx
或者如果你不使用systemd:
sudo service nginx restart
- 测试HSTS:
使用浏览器访问你的网站,检查响应头部是否包含了Strict-Transport-Security
字段。
启用HSTS后,浏览器会自动将所有HTTP请求升级为HTTPS请求,并且在未来访问时直接使用HTTPS,从而提高网站的安全性。