我在我的网站上使用带有此标头的 HSTS:
Strict-Transport-Security: max-age=15768000; includeSubDomains
这按预期工作并强制浏览器将所有 http 连接重定向到 https。
在文档中https://www.rfc-editor.org/rfc/rfc6797#section-6.1.2我没有找到排除指定子域的方法!
我已经尝试添加max-age=0
子域名,但它不会覆盖includeSubDomains
是否可以从includeSubDomains
规则中排除子域?或者唯一的方法是删除此规则,然后仅对某些网站使用 HSTS 标头?PS:我的网络服务器是 NGINX,我使用 Firefox 和 Chrome 测试了其行为。
答案1
不:
我认为其中一个要点includeSubdomains
是确保攻击者无法通过强制最终用户通过纯 http 加载子域然后加载它们来劫持 cookie 等。如果有一个例外,includeSubdomains
那么它将毫无用处(假设攻击者有可能找出例外是什么)。