如果浏览器支持,则在 IE 中删除 HSTS 以测试重定向到 https,并且对于子域是可以的

Removing HSTS in IE to test redirecting to https if supported by browser and is ok for subdomains

情况

需要将站点转移到https但不是很重要的子域不支持https。在打开主页时在支持的域上添加此 header 已经成为功能,并且已经在 Opera、Chrome 和 FireFox 中进行了测试和工作。但像往常一样 - 还需要在 IE 上进行测试。

问题

我还没有找到在浏览器上删除此站点的 Secure-Transport-Security header 的解决方案,以便能够对其进行测试。

问题

如何删除保存在 IE 中的 Strict-Transport-Security header 就像 Chrome 是 'chrome:net-intenrals/#hsts' 来测试这个自动重定向?

Internet Explorer 不提供删除它的方法。

删除它的最简单方法是暂时将服务器上的 max-age 更改为 0,然后访问该站点。这将重置它,然后您可以再次正确设置它。

另请注意,只有 IE11 和 Edge 支持此功能: http://caniuse.com/#search=Hsts

应该注意的是,HSTS 应该用作 标准重定向之上的额外安全措施,用于首次访问和那些不支持它的浏览器。从你的措辞中我不明白你是否意识到这一点,或者你是否认为这是重定向的替代方法。

出于测试目的,您可以为整个 IE(即 IE11)或仅为特定用户禁用 HSTS 功能。这是 Microsoft 知识库文章:Internet Explorer 11 adds support for HTTP Strict Transport Security standard

Windows 将动态 HSTS table 存储在 WebCacheV01.dat 文件中。您可以通过删除以下目录的内容来清除缓存:

%localappdata%\Microsoft\Windows\WebCache

您可以通过使用 ESEDatabaseView 等 ESE 查看器打开以下文件并找到 HstsEntryEx table 来查看 HSTS table 的内容。

%localappdata%\Microsoft\Windows\WebCache\WebCacheV01.dat