由于.dev
现在是gTLD并且强制重定向到Chrome中的https,我使用PuPHPet设置了一个新的开发环境,其域名为awesome.localhost
,而不是之前的默认awesome.dev
。
Chrome根本无法解析它并在控制台中返回ERR_EMPTY_RESPONSE
消息并且没有错误或信息。
我可以成功ping通域名和IP匹配。它在Firefox和Internet Explorer中也可以正常工作。
在Chrome中使用与服务器关联的IP地址会正确返回将虚拟主机添加到hosts文件的说明页面。
我该如何解决这个问题?可能导致这种情况的原因是什么?
Chrome版本63.0
答案 0 :(得分:2)
我认为Chrome完全绕过了.localhost
域的DNS,并且在内部始终将其解析为127.0.0.1
。
RFC 6761保留.test
,.localhost
,.example
和.invalid
TLD。我会将.test
用于这些内部主机名。
根据RFC:
域名“localhost”。和任何属于“.localhost”的名字。特别是在以下方面:
用户可以像使用任何其他名称一样自由使用localhost名称 网站域名。 用户可以假设IPv4和IPv6地址 对localhost名称的查询将始终解析为相应的 IP环回地址。
应用程序软件可能会将localhost名称识别为特殊,或 可以将它们传递给名称解析API,就像传给其他API一样 域名。
名称解析API和库应该识别localhost 名称为特殊名称,应该始终返回IP环回地址 用于地址查询和所有其他查询的否定响应 类型。名称解析API不应该发送查询 localhost名称为其配置的缓存DNS服务器。
- 醇>
...