我全新安装了 Windows Server 2012 R2,安装了 IIS 8 并全部打上了补丁。我创建了一个新的网站,其中只有一个名为 home.htm 的页面,该网站在端口 80 上有一个 HTTP 绑定和一个主机标头。当我尝试从服务器或 Windows 10 客户端浏览 home.htm 时,我得到了一个 301 重定向到未配置的 HTTPS,因此失败了。任何建议都非常感谢。
答案1
根据@MrZach的建议,我使用服务器上的不同浏览器以及运行Windows 10的客户端虚拟机进行了更多测试。使用Chrome F12工具,我能够确定301 重定向在 MS Edge 中实际上是307-重定向带有 Non-Authoritative-Reason 标头高温。这没有意义,因为我没有在 IIS 中配置 HSTS,直到我发现了解 HTTP 严格传输安全 (HSTS) 并将其预加载到浏览器中并读出这一行;
Chrome 拒绝通过不安全的 HTTP 协议发出第一个请求
然后我发现有一个HSTS 白名单然后我发现.dev 顶级域名强制 HSTS。你猜怎么着?作为一名开发人员,我将顶级域名配置为“.dev”(并完全否认在我最初的问题中提到这一事实!)
我想这证明了两件事:你不知道你不知道什么,而一点点知识是一件危险的事情(特别是在开发人员手中!)