为什么当我尝试访问我的域名时 Chrome 会强制使用 SSL?

为什么当我尝试访问我的域名时 Chrome 会强制使用 SSL?

我遇到了一些奇怪的问题和一堆我无法理解的症状。

我有一个指向我家 IP 地址的 .com 域名。在我的 LAN 内部,我使用外部 DNS 解析,因此如果我在内部执行 nslookup,我会得到我的外部 IP,而不是 LAN IP。

事情的经过如下:

  • 当我在家时(在具有内部 IP 的设备上,例如 10.0.0.20)
  • 我正在运行适用于 Windows 的 Chrome(目前运行的是 Chrome 35)
  • 我尝试通过 HTTP 使用我的外部域名访问资源(例如http://www.homedomain.com

...然后 Chrome 立即将协议转换为 https(在地址栏中)并抱怨 SSL 错误。我无法达到目标。

如果我在外部机器上使用相同的 Chrome 版本(例如,在办公室的 PC 上使用相同的用户配置文件),它会按预期工作。它也可以在本地使用 Internet Explorer 和 Firefox 工作。仅有的Chrome 内部运行存在问题。我可以在两台不同的机器上重现此问题,一台运行 Windows 8.1,另一台运行 Windows 7,并且可以在 wifi 和有线网络上重现此问题。

我的家庭服务器运行 Windows Server Essentials 2012,并且我有一个内部域,但我不认为该服务器与我的问题有关。

我已将路由器配置为将端口 1880 转发到 Raspberry Pi 设备,其中有一个 http 服务器正在监听。在 Chrome 之外,我可以点击http://www.homedomain.com:1880它会完美解决。当我在 Chrome 中尝试时,它会立即转换为 https 并失败(因为 RPi 不接受 SSL 连接)。当我在 Chrome 中使用 LAN IP 时,它也能正常工作。

路由器正在运行 Tomato 固件。

这里发生了什么?

  • 这不可能是明显的 Chrome 设置/错误,因为当我在局域网之外时,相同的 Chrome 配置文件/版本可以工作。
  • 它不能是本地 PC 设置,因为 IE 和 Firefox 运行良好。
  • 这不可能是我的 Windows Server,因为路由器本身正在处理端口转发。
  • 这不可能是路由器的问题,因为 IE 和 Firefox 运行正常。

我没主意了——显然我的上述假设之一不正确。Chrome 是否有更高级的网络代码,导致我遇到意外行为?我是否遇到了 IE/FF 可以妥善处理的某种环回问题?

我已经没什么主意了。如果有人能建议我去哪里调查的话我会很感激。

更新:另一条数据 - Chrome(使用相同的用户配置文件)在受影响的机器上托管的 Hyper-V VM 中运行时行为正常。

更新 2:当我创建新的 Chrome 用户配置文件时,此行为会消失。然而,当我将该配置文件登录到我的 Google 帐户时,问题又出现了。这似乎是“Chrome 用户配置文件中的某些内容”与我的 Google 帐户绑定在一起。

答案1

虽然不是绝对的确定,但可以猜测一下:

Google Chrome(以及其他现代浏览器)支持严格传输安全HTTP 标头,告知浏览器“此站点只能通过 HTTPS 访问,因此将来即使用户要求使用 HTTP,也请改为使用 HTTPS。”随着使用 HTTPS 变得越来越普遍,发送此标头已成为新软件和框架中的默认设置,因为通常如果设置了 HTTPS(必须设置 HTTPS 才能使 Strict-Transport-Security 标头生效),最好将其用于所有操作。您的经历让我想到,您曾尝试通过 HTTPS 访问您域中的 Chrome 中的某个页面,并且您使用的应用程序发送了该标头。因此,受影响计算机上的 Chrome 已将其包含在其 Strict-Transport-Security 列表中,因此它不允许访问该域中的非 HTTPS 页面。

你没有提到曾经尝试通过 HTTPS 在该域名上做任何事情,但是否有可能你在某个时候这样做了,而那时你的麻烦就开始了?(更不可能的情况是,你的域名在 Chrome 的编译预加载的 HSTS 列表而你却不知道。)我还没有找到查看 Chrome 的 Strict-Transport-Security 列表的方法,所以我不知道如何验证它是否是问题所在,但我见过的所有“Chrome 想要使用 HTTPS 但我不知道为什么”的问题最终都是因为域名在某个时候是通过 HTTPS 并使用了 Strict-Transport-Security 标头,所以这是我现在假设的,除非有其他东西可以触发 Chrome 中的行为。

希望有所帮助。

相关内容