cyc*_*ter -1 virtualization google-chrome localhost
RFC2606对“localhost”tld 声明如下:
“.localhost”TLD 传统上在主机 DNS 实现中静态定义为具有指向环回 IP 地址的 A 记录,并保留用于此类用途。任何其他用途都会与广泛部署的假定此用途的代码发生冲突。
因此,如果我没看错的话,IETF 会说“.localhost”是本地网站开发的一个很好的 tld。因此,我的公司要求我们所有的本地开发项目都使用 tld“.localhost”。(我们使用 Vagrant + Puppet 来保持团队中的所有开发环境相同)。例如,主机文件将具有如下条目:
192.168.10.10 someproject.localhost
10.9.8.7 anotherproject.localhost
Run Code Online (Sandbox Code Playgroud)
问题来了,这个 tld 在所有浏览器中都可以正常工作,除了 Chrome。每当使用 localhost tld 时,Chrome 都会给出 ERR_CONNECTION_REFUSED 消息。如果我像这样更改 tld:
192.168.10.10 someproject.loc
10.9.8.7 anotherproject.loc
Run Code Online (Sandbox Code Playgroud)
铬工作正常。事实上,我已经测试了许多不同的任意 tld,它们在 Chrome 中也都可以正常工作。“localhost”是在 Chrome 上提供 ERR_CONNECTION_REFUSED 消息的唯一 tld。
我使用的是 Windows 7,Chrome 版本 53.0.2785.116 m(64 位)。但是我在 Windows 10 上遇到了同样的错误。我团队中的每个人无论是在家里还是工作计算机(Windows 和 Mac)上都会遇到同样的错误。
为什么当 tld 为“.localhost”时 Chrome 无法连接?
你在做什么是错误的。
localhost 是指向 127.0.0.1的主机名,而不是域,因此将主机添加到它,就好像它是域一样,但指向其他地方在逻辑上是不正确的。
您可能对 .local 域感到困惑,但是有理由不使用已经在其他问题中回答过的域。本质上,您不应该创建一个假域,您应该获得一个正确的域,然后在您的主机文件/本地 dns 中的子域下添加主机。
| 归档时间: |
|
| 查看次数: |
356 次 |
| 最近记录: |