如何在 Nginx 中启用 HSTS?

2024-11-05T12:17:53

在Nginx中启用HTTP严格传输安全(HSTS)非常简单。你只需要在Nginx的配置文件中添加一个add_header指令,用于在服务器响应中添加Strict-Transport-Security头部。以下是具体的步骤:

  1. 编辑Nginx配置文件
    打开你的Nginx配置文件,这通常位于/etc/nginx/nginx.conf或者/etc/nginx/sites-available/目录下的某个文件。
  2. 添加HSTS头部
    server块中,添加以下配置行:

    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;

    这里的max-age=31536000表示浏览器应该在一年(31536000秒)内只通过HTTPS访问网站。includeSubDomains指示所有子域名也应遵循HSTS策略。always参数表示这个头部将被添加到每个响应中,无论响应的状态码如何。

  3. 配置示例
    如果你想要为特定的服务器启用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;
    
        # 你的其他配置...
    }
  4. 检查配置并重启Nginx
    保存配置文件后,检查Nginx配置文件的语法是否正确:

    sudo nginx -t

    如果配置文件没有问题,重启Nginx以应用更改:

    sudo systemctl restart nginx

    或者如果你不使用systemd:

    sudo service nginx restart
  5. 测试HSTS
    使用浏览器访问你的网站,检查响应头部是否包含了Strict-Transport-Security字段。

启用HSTS后,浏览器会自动将所有HTTP请求升级为HTTPS请求,并且在未来访问时直接使用HTTPS,从而提高网站的安全性。

当前页面是本站的「Baidu MIP」版。发表评论请点击:完整版 »