子域托管的ASP.NET Core 3应用设置HstsOptions.IncludeSubDomains的影响范围咨询
HSTS IncludeSubDomains 作用范围详解
嘿,我来帮你把这个HSTS的规则讲明白,刚好平时处理不少ASP.NET Core的安全配置问题:
问题1:子域应用设置IncludeSubDomains会不会影响其他子域?
答案是:只会影响该子域的所有下级子域,不会影响同级或更高层级的其他子域。
举个简单例子:如果你的应用在a.example.com上开启了带IncludeSubDomains的HSTS,那x.a.example.com、y.z.a.example.com这类属于它的子域会被强制HTTPS,但b.example.com这个同级子域、example.com主域都完全不受影响。
问题2:ASP.NET Core 3应用在yo.hello.example开启IncludeSubDomains的影响范围
针对你提到的场景,咱们拆解开看:
- 主域/父域不受影响:
example.com、hello.example这些比yo.hello.example层级高的域名,完全不会被这个HSTS规则约束,该怎么访问还是怎么访问。 - 同级子域不受影响:像
boom.hello.example这种和yo.hello.example平级的子域,不属于对方的下级子域,所以不会被强制HTTPS。 - 仅下级子域受影响:只有
yo.hello.example的所有层级子域,比如yo.bo.hello.example、test.yo.hello.example这类,才会被浏览器强制使用HTTPS访问,不会再尝试HTTP连接。
另外补充个小细节:HSTS是浏览器端的行为,一旦浏览器接收到带IncludeSubDomains的HSTS响应头,就会在本地缓存这个规则,后续访问对应子域时自动跳转到HTTPS,不用服务器再做302重定向啦。
内容的提问来源于stack exchange,提问作者SpiritBob
相关产品推荐
相关产品推荐

