【发布时间】:2017-03-31 05:56:50
【问题描述】:
我正在尝试在我的服务器上配置 HSTS。我注意到 SSLLabs.com 上的测试会告诉我,如果我通过初始未加密的 HTTP 连接发送 HSTS 标头,则已启用 HSTS。但是,这违反了 RFC-6797 第 7.2 节中的 HSTS 规范,该规范明确指出您不应通过未加密的连接发送此标头。
另一方面,如果我的服务器仅在执行从 HTTP 到 HTTPS 的 302 重定向后才发送该 HSTS 标头,这正是官方 HSTS 规范所说的您应该做的,那么 SSL Labs 不会承认我有 HSTS已启用。
那么我在这里错过了什么?执行此操作的实际正确方法是什么?
如果你想看看我在说什么,有问题的网站是 nightowlcircusarts.com
您可以通过这个 bash 命令使用 curl 查看未加密的标头:
curl -I http://www.nightowlcircusarts.com/
或将 http 更改为 https 以查看加密的标头:
curl -I https://www.nightowlcircusarts.com/
目前,我已将其配置为仅通过 TLS 发送该标头,而不是没有它,正如 HSTS 规范所说的那样。但是您会看到 SSL Labs 测试仍然显示我没有启用 HSTS: https://www.ssllabs.com/ssltest/analyze.html?d=nightowlcircusarts.com
【问题讨论】:
-
在测试的 DROWN 部分尝试访问该测试的详细说明以及显示各个问题的位置单击更多信息链接,它们应该可以帮助您指出正确的方向
-
不明白你为什么这么想。正确答案如下。
标签: http ssl encryption https hsts