HSTS 可以由浏览器处理 http 到 https 的转发,省去了服务器设置 302 跳转占用的资源。

在 https 配置文件的 server 中添加

add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";

设置后使用 https 访问一次站点,在接下来的 63072000 毫秒内,无需强制输入 https 浏览器也会自动将网址指向 https 协议。

但如果设置后使用 http 协议首次访问站点,那么浏览器将不会自动处理跳转。这就需要手动对 http 配置文件做一个 301 跳转

return 301 https://$host;