为什么将 /etc/hosts 中的虚拟主机服务器名称和本地域名更改为 *.dev 会强制重定向到 HTTPS?

为什么将 /etc/hosts 中的虚拟主机服务器名称和本地域名更改为 *.dev 会强制重定向到 HTTPS?

我已经设置了一个基本的 Vagrant 盒,其中安装了 Ubuntu 18.04 和 Apache2,与默认和推荐设置相比几乎没有变化。

在客户机的虚拟主机 .conf 文件中,我仅将 ServerName 添加为 wordpress.dev,并在主机上的 /etc/hosts 文件中添加一行以将 wordpress.dev 解析为 127.0.0.1。Vagrant 文件将主机上的端口 4567 转发到客户机上的端口 80,如 Vagrant 手册中所述。所有这些都相当典型,并且之前在其他本地或客户机站点上都运行正常,没有任何问题。

然而,在这种情况下,当我尝试浏览非安全http://wordpress.dev:4567在主机上,浏览器始终重定向到安全的 https://wordpress.dev:4567。当然,由于我没有 SSL 证书,所以无法加载该网站。无论我使用哪种浏览器,都会出现这种情况。

如果我修改 .conf 和 /etc/hosts 文件,使用“wordpress”而不是“wordpress.dev”,但其他部分保持不变,重新加载 Apache,那么我浏览http://wordpress:4567而不会重定向到 https。当我改回来时,我又遇到了同样的问题。

这对我来说毫无意义。为什么添加“.dev”会对浏览器是否强制我使用 HTTPS 产生影响?

我已经清除了缓存并尝试使用私人浏览,但没有什么区别。

发生这种情况可能有一个非常明显的原因,但我看不出来。

答案1

为什么添加.dev会对浏览器是否强制我使用 HTTPS 产生任何影响?

Chrome 63+(2017 年 12 月)和 Firefox 61+(2018 年 6 月)强制所有以 结尾的域名.dev重定向到 HTTPS通过预加载(浏览器内)HTTP 严格传输安全 (HSTS)標軸。

此外,谷歌现在正式将该.dev域名作为活跃的 gTLD进行维护并于2019年2月开始注册.dev地址。他们强调域名.dev仅使用 HTTPS 作为卖点

过去可以手动禁用 HSTS,但据我所知,该标志已被删除。

相关内容