Windows 10 主机文件 localhost

Posted

技术标签:

【中文标题】Windows 10 主机文件 localhost【英文标题】:Windows 10 hosts file localhost 【发布时间】:2019-10-08 01:09:56 【问题描述】:

我使用的是 Windows 10。我正在尝试将 127.0.0.1 映射到假设域:en.mylocalhost.tld

当我以管理员身份打开 C:\Windows\System32\drivers\etc\hosts 时,它是空的。

我添加了以下行:

127.0.0.1 en.mylocalhost.tld

重启电脑。

我有一个在 localhost:4200 上提供的 Angular 应用程序。它适用于本地主机。

但是当我输入 en.mylocalhost.tld:4200 时,我得到了

DNS 错误(您要查找的页面的主机名没有 存在)

此外,hosts 文件中没有 localhost 条目。那为什么 localhost 可以工作?

我该如何解决这个问题?

【问题讨论】:

不能为空。出厂时的原始文件有一条评论可以回答您的问题:“本地主机名称解析在 DNS 本身内处理。”确保您的编辑器没有将文件保存到 c:\windows\syswow64。 【参考方案1】:

我完全更新(截至 2019 年 8 月)的 Windows 10 Pro 系统的 HOSTS 文件似乎被忽略了。搜索发现许多类似的投诉,但没有任何用处。我已回复您的帖子,因为这是我发现的最新帖子。

我使用 procmon from sysinternals 查看 HOSTS 文件活动以响应 ping 命令(过滤器:如果路径包含 HOSTS,则包括)。

捕获的第一个(也是最初唯一的)操作不是对 HOSTS 文件的引用,而是对注册表项的查询:

HKLM\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters\UseHostsFile

此键不存在,但名称是暗示性的!

我使用 DWORD 值 1 创建了它并执行了 ipconfig /flushdns,然后 问题似乎已经解决了。

我还没有完全测试过这个解决方案(例如:它在重新启动后是否仍然存在?;它会导致比它解决的问题更多的问题吗?...)但它可以解释为什么这么多人的 HOSTS 文件有问题。

当然,Microsoft 可以通过未来的更新来改变 Windows 名称解析系统的行为。

【讨论】:

您是否在主机文件中看到了 # localhost name resolution is handled within DNS itself. 的注释行?

以上是关于Windows 10 主机文件 localhost的主要内容,如果未能解决你的问题,请参考以下文章

Windows localhost 和虚拟主机上的 Apache

Cisco模拟器GNS3在Windows 7上Console Telnet localhost 主机不了怎么办?

localhost 正在工作,但在 Windows 7 中没有 127.0.0.1

虚拟主机在 xampp 中不工作(对 localhost 使用不同的端口:7777)

从 Localhost 测试 Facebook 应用

在windows7上配置xampp虚拟主机