NGINX: 配置 HSTS

Posted tiantiandas

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NGINX: 配置 HSTS相关的知识,希望对你有一定的参考价值。

参考: [ 浅析 HSTS - 博客园 ] [ HTTP HSTS协议和 nginx - 运维生存时间] [ HSTS ]


Header: Strict-Transport-Security

Strict-Transport-Security 格式

Strict-Transport-Security: <max-age=NUMBER>[; includeSubDomains][; preload]


  • max-age:单位:秒。 HSTS header 过期时间,一般设置为1年,即31536000秒。而每次Response Header都带上HSTS Header,则可不断刷新其过期时间。

  • includeSubDomains:需要开启HSTS的域名/子域名。

  • preload:当加入了浏览器内置Preload List时才需要设置该项。


nginx 配置示例

server {
    listen 80;
    server_name xx.xx;
    return 301 https://$host;
}

server{
    listen       443 ssl;
    server_name  xx.xx.xx;

    ssl_certificate cert/xx.pem;
    ssl_certificate_key cert/xx.key;
    ....
    
    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;

    location  /{

    }
    ....
}










以上是关于NGINX: 配置 HSTS的主要内容,如果未能解决你的问题,请参考以下文章

HTTP HSTS协议和 nginx

HTTP HSTS协议和 nginx

HSTS 与 307 状态码

nginx配置https证书

SSL/TLS深度解析--在 Nginx上配置 HSTSCSP 与其他

Nginx-HTTP Strict Transport Security(HSTS)