HSTS 是否将所有资源升级到 HTTPS 而不管域
Does HSTS upgrade all resources to HTTPS irrespective to the domain
我正在将 HTTP Strict Transport Security header 添加到网站。
它是否阻止通过 HTTP 加载不在同一域中的资源?
HSTS 仅适用于发送它的域,如果还设置了 includeSubDomains 属性,则适用于任何子域。
任何其他域不受影响。
但是需要注意的一件事是,如果您的主域 (www.example.com) 使用与裸域 (example.com) 相同的配置,这很常见,并且您发布了 HSTS header 在两者上(可能没有意识到它也在裸域上)并使用 includeSubDomains header。如果是这种情况,那么您可以轻松地阻止对您不打算访问的其他域的访问,如果有人访问裸域,这些域仍在 http 上(例如 http://blog.example.com or http://internal.example.com)。
顺便说一句,如果您想将所有 http 请求升级到 https,您可以使用具有 upgrade-insecure-requests 选项的内容安全策略 (CSP)。然而browser support of that is not yet universal. You can also use CSP to help you identify mixed content as discussed here。
我正在将 HTTP Strict Transport Security header 添加到网站。
它是否阻止通过 HTTP 加载不在同一域中的资源?
HSTS 仅适用于发送它的域,如果还设置了 includeSubDomains 属性,则适用于任何子域。
任何其他域不受影响。
但是需要注意的一件事是,如果您的主域 (www.example.com) 使用与裸域 (example.com) 相同的配置,这很常见,并且您发布了 HSTS header 在两者上(可能没有意识到它也在裸域上)并使用 includeSubDomains header。如果是这种情况,那么您可以轻松地阻止对您不打算访问的其他域的访问,如果有人访问裸域,这些域仍在 http 上(例如 http://blog.example.com or http://internal.example.com)。
顺便说一句,如果您想将所有 http 请求升级到 https,您可以使用具有 upgrade-insecure-requests 选项的内容安全策略 (CSP)。然而browser support of that is not yet universal. You can also use CSP to help you identify mixed content as discussed here。