HSTS:主域上的 includeSubDomains 是否足够?

Sr.*_*der 1 ssl subdomain ssl-certificate plesk hsts

在我的Plesk web管理版我只是激活HSTS我的主要领域www.domain.tld

add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
Run Code Online (Sandbox Code Playgroud)

ssllabs.com上的测试表明一切正常。问题是我的子域 ( subdomain.domain.tld)。如果我在 ssllabs 上测试我的子域,它会说没有激活 HSTS。

我应该包括标题吗

add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
Run Code Online (Sandbox Code Playgroud)

在我的子域上,还是在我的主域上实现就足够了?

我认为通过添加includeSubDomains不需要在子域上显式添加它。

dan*_*aur 6

includeSubDomains部分仅指示浏览器,一旦看到它,对其他子域的请求应遵守相同的 HSTS 规则(即,必须存在有效​​证书)。它不会“推断”此规则应用于您的子域,例如,如果用户之前从未访问过您的 www.domain.tld 站点。在这种情况下,他们的浏览器永远不会在您的 www 子域中看到此标头的存在,因此不会应用 HSTS 规则。

如果用户已经看到您的www子域这个头,然后试图访问一个子域与一个无效的证书,它会阻止它,并阻止用户继续。

简而言之,您需要确保在所有子域中提供相同的 HSTS 标头,以使其 100% 有效。