使用Chrome v.63是否强制使用https?
我在Windows 10桌面上运行Apache 2.4.27作为沙箱,我可以在那里进行实验并做一些教程。我有一个名为www.tutorial.dev的虚拟主机设置,其别名为tutorial.dev。在Windows 10 hosts文件中,我设置了www.tutorial.dev和tutorial.dev以指向localhost。
截至昨天,网址http://tutorial.dev/Bootstrap4FromScratch/正常运作。在这种情况下,将目录列表作为跳转点提供给各种示例和练习。今天,当我输入网址Chrome时,将其更改为https,我收到连接被拒绝的消息。
我理解连接被拒绝的消息。没有证书设置。
我能找到的唯一变化是Chrome已从v.62.x更改为v.63.x. Chrome 63中的内容可能会强制http到https?
我对MS Edge没有这个问题。我在另一台正在下载Chrome 63.x的机器上测试了另一个类似的配置。它已经安装了62.x.它一直有效,直到63.x升级完成,然后出现同样的问题。
其他信息:如果我使用http://localhost调出htdocs目录中的index.html或version.php,则不会发生从http到https的切换。虚拟主机www.tutorial.dev驻留在htdocs之外的另一个目录中。
如果有人询问并回答,请指出问题/答案主题。
提前致谢,
百里
答案 0 :(得分:11)
Google拥有.dev TLD,而Chrome 63则在所有对any.dev的请求中强制使用HTTPS
我通过我的本地开发设置并用.local替换了所有对.dev的引用,现在工作正常。
您的另一个选择是使用Firefox进行本地开发。 .dev now triggers https in FF (since before FF61) with a workaround
修改(协助):
我已经切换到使用.localhost for dev,因为浏览器允许navigator.geolocation.getCurrentPosition()
(如果站点不是HTTPS,则阻止)。
答案 1 :(得分:2)
Google Chrome 63 update,2017年12月,将{strong> .dev 域放在preloaded HSTS list中,并使用规则强制执行HTTPS,无需解决方法。
{ "name": "dev", "include_subdomains": true, "mode": "force-https" }
“唯一”的方法是将.dev切换为其他内容,例如.localhost
IETF states a few reserved TLDs for development:
- 醇>
测试用TLD,&文档示例
需要可以使用的顶级域名(TLD)名称 创建名称,而不用担心与当前或 未来在全球DNS中的实际TLD名称,可用于私人
测试现有的DNS相关代码,文档中的示例,DNS
相关实验,无效的DNS名称或其他类似用途。例如,如果没有指导,网站可能会设置一些本地文件 其他未使用的顶级域名,用于测试其本地DNS代码 和配置。之后,这些TLD可能会在实际使用中发挥作用 全球互联网。结果,当地人试图参考 这些区域的实际数据可能会受到当地测试的阻碍 版本。或者可以编写访问实例的测试或示例代码 考虑到测试代码只是在使用的TLD 在限制的测试网中运行或示例从未实际运行 之后,测试代码可能会逃离测试台或示例为
实际编码并在互联网上运行。视乎性质而定 在测试或示例中,最好是引用TLD 为此目的永久保留。为了安全地满足这些需求,四个域名保留为
列出并在下面描述。.test .example .invalid .localhost
“。test”建议用于测试当前或新的DNS 相关代码。
“。example”建议用于文档或示例。
“。invalid”旨在用于域的在线构建 名称肯定是无效的,而且在a 一瞥无效。
“。localhost”TLD传统上一直是静态定义的 将DNS实现托管为具有指向的A记录 环回IP地址并保留用于此类用途。任何其他用途 会与广泛部署的代码发生冲突,该代码假设使用此方法。
PS:.foo也在预加载的HSTS列表中
答案 2 :(得分:0)
感谢大家的建议。我现在最终和.tst一起去了。我有一种感觉,我会在某个时候切换(强制?)到.localhost。但是现在.tst打字的次数减少了。