如何处理 HSTS 的端口重定向

How to Handle Port Redirection for HSTS

目前正在设置新的个人服务器。我一直在阅读 HSTS (thanks EFF!), as well as the steps for implementing on Nginx (ex: here)。

我没有看到清楚说明的是如何处理初始重定向。我是否在端口 80 提供一些静态错误内容,重定向到 HTTPS 的实际站点?

到目前为止,我读到的很多内容都表明从 HTTP 提供的服务正在 your site vulnerable to MITM attacks. Others seem to suggest that as long as you have the Secure flag set on any cookies instantiated, you're good. Of course, plebeian that I am, I'm not on the preloaded HSTS site list,所以这已经结束了。

这是怎么回事?我应该为网站访问者提供方便的端口 80 和重定向,还是让他们受到攻击?

完全披露:按交易分类的非 Ops,以及提供的不安全内容,只是一个有学习机会的饥饿的头脑。

在您位于 80 端口的站点上,您只需响应 301 response code 将用户重定向到位于 443 端口的 HTTPS 站点。然后安全站点发送 "Strict-Transport-Security" header。

这仍然会使您的用户在第一次访问您的网站时容易受到 man-in-the-middle 攻击。您只能通过将您的站点放在预加载的 HSTS 列表中来缓解这种情况。

不要设置来自不安全站点的任何 cookie,并且在设置来自安全站点的 cookie 时始终使用安全标志。