![localhost 域绕过 /etc/hosts 文件](https://linux22.com/image/713024/localhost%20%E5%9F%9F%E7%BB%95%E8%BF%87%20%2Fetc%2Fhosts%20%E6%96%87%E4%BB%B6.png)
我正在尝试创建一个以.localhost
FQDN 为名称的开发环境。
我在用着飞轮本地它基本上是 MAMP,它是一个 GUI,可以让我创建 vagrant boxes。我可以创建一个站点,并将example.dev
其指向/etc/hosts
文件中的本地 IP 地址,它工作得很好:
192.168.95.100 example.dev
我可以将其更改为其他内容example.test
,并且它仍然可以正常工作:
192.168.95.100 example.test
如果我将其更改为,.localhost
我会收到 403 禁止错误。
192.168.95.100 example.localhost
我的文件中没有其他记录/etc/hosts
。我正在尝试查明域名在哪个阶段被路由到其他地方。
什么会阻止 localhost 域映射到正确的 URL?
答案1
你不能。localhost
已被保留为特殊用途域名(RFC 6761, 6.3)。
该域名
localhost.
以及其中的任何名称.localhost.
均具有以下特殊性:- -
- 名称解析 API 和库应将
localhost
名称识别为特殊名称,并且应始终返回 IP 环回地址(用于地址查询)和否定响应(用于所有其他查询类型)。名称解析 API 不应将名称查询发送localhost
到其配置的缓存 DNS 服务器。
您可能将其与.local
在私有网络中广泛使用和保留的特殊用途域名用于多播 DNS (mDNS)RFC 6762。使用时.local
,请尽量避免使用全局 DNS 解析这些名称。使用.local
在 Active Directory 中是一个非常糟糕的实现的典型例子,导致对 L 进行不必要的查询根名称服务器。