为什么SSL实验室测试说当通过HTTP发送头时启用HSTS,而不是通过HTTPS发送头时启用HSTS?
我正在尝试在我的服务器上配置HST。我注意到,SSLLabs.com上的测试将告诉我,如果我通过初始未加密的HTTP连接发送HSTS头,则HSTS已启用。然而,这违反了RFC-6797第7.2节规定的HSTS规范,该规范明确规定,您不应通过未加密的连接发送此标头 另一方面,如果我的服务器只是在执行了从HTTP到HTTPS的302重定向之后才发送该HSTS头,这正是官方HSTS规范所说的,那么SSL实验室不承认我启用了HSTS 那么我在这里错过了什么?真正正确的方法是什么为什么SSL实验室测试说当通过HTTP发送头时启用HSTS,而不是通过HTTPS发送头时启用HSTS?,http,ssl,encryption,https,hsts,Http,Ssl,Encryption,Https,Hsts,我正在尝试在我的服务器上配置HST。我注意到,SSLLabs.com上的测试将告诉我,如果我通过初始未加密的HTTP连接发送HSTS头,则HSTS已启用。然而,这违反了RFC-6797第7.2节规定的HSTS规范,该规范明确规定,您不应通过未加密的连接发送此标头 另一方面,如果我的服务器只是在执行了从HTTP到HTTPS的302重定向之后才发送该HSTS头,这正是官方HSTS规范所说的,那么SSL实验室不承认我启用了HSTS 那么我在这里错过了什么?真正正确的方法是什么 如果你想知道我在说什么
如果你想知道我在说什么,这个网站是 夜猫子马戏团艺术网 您可以使用curl和以下bash命令查看未加密的标题:
curl -I http://www.nightowlcircusarts.com/
或者将http更改为https以查看加密的标题:
curl -I https://www.nightowlcircusarts.com/
目前,我已经将其配置为仅通过TLS发送该报头,而不是像HSTS规范所说的那样不发送该报头。但您会看到SSL实验室测试仍然显示我没有启用HST:
首先,SSLLAB不会扫描未加密连接上的站点-仅扫描加密连接(https)上的站点。因此,它不会告诉您在http上启用了它 您的问题是,NightowlCircuarts.com和www.nightowlCircuarts.com是两个不同的网站,您只在后者上设置它,但在前者上扫描它:
请注意,这两个站点检查不同的内容,因此其中一个站点不是另一个站点的替代站点(这两个站点都很喜欢!),但是一些设置(HST和HPKP)都由这两个站点显示。在这个问题上,要非常小心使用HPKP(我不是一个粉丝,也不认为它应该被广泛使用)。在测试的“溺水”部分,尝试访问此测试的较长解释以及显示个别问题的位置,单击更多信息链接,他们应该帮你找到正确的方向。我不明白你为什么这么想。下面是正确答案。