Windows 计算机上的主机文件用于将某些名称字符串绑定到特定 IP 地址以覆盖其他名称解析方法。
通常,人们决定更改主机文件,并发现更改拒绝生效,或者此后甚至忽略主机文件的旧条目。许多“陷阱”错误都可能导致这种情况,要弄清楚是哪个错误可能会令人沮丧。
当面对Windows忽略hosts文件的问题时,可能遵循的综合故障排除协议是什么?
这个问题在 SO 上有重复,例如HOSTS 文件被忽略
但是,这些往往是针对特定情况的,一旦发现 OP 犯的任何错误,讨论就结束了。如果你没有碰巧犯过同样的错误,这样的讨论就不是很有用了。因此,我认为拥有一个通用协议来解决所有与主机相关的问题并涵盖所有情况会更有帮助。
可能的重复:
如何使用 DNS 将域重定向到我服务器上的特定端口
我想欺骗我的浏览器进入 localhost:3000 而不是 xyz.com。我进入了 OS X 10.5 上的 /etc/hosts 并添加了以下条目:
127.0.0.1:3000 xyz.com
Run Code Online (Sandbox Code Playgroud)
这不起作用,但没有指定该技巧的端口。有没有办法做到这一点,指定端口?
是否可以在 Windows 主机文件 (C:\Windows\System32\drivers\etc\hosts) 中输入某种 CNAME 记录或别名?
基本上我想将所有对主机 A 的请求转发到主机 B,而不必对 IP 地址(经常更改)进行硬编码。
我有一个通过 VPN 连接到内部数据库的网络服务器。从 Web 服务器到数据库有 2 个 IP(主要和次要)。如何设置我的 /etc/hosts 文件,以便在主 IP 不可用时使用辅助 IP?
这对我的主机文件有用吗?
141.131.286.1 abc.efg.datastore.com #primary
141.131.286.237 abc.efg.datastore.com #secondary
Run Code Online (Sandbox Code Playgroud) 尝试sendmail使用wordpress 插件启动或发送邮件时,此错误显示在maillog:
"My unqualified host name (foo.bar) unknown; sleeping for retry"
Run Code Online (Sandbox Code Playgroud)
在谷歌搜索之后,最好的建议是“将 foo.bar 添加到 /etc/hosts 文件”,但它已经是:
127.0.0.1 localhost localhost.localdomain
127.0.0.1 foo.bar
Run Code Online (Sandbox Code Playgroud) 如果我查看我的 resolv.conf,我会看到以下消息:
#
# Mac OS X Notice
#
# This file is not used by the host name and address resolution
# or the DNS query routing mechanisms used by most processes on
# this Mac OS X system.
#
# This file is automatically generated.
#
Run Code Online (Sandbox Code Playgroud)
我正在尝试添加 DNS 条目。我编辑了我的主机文件并刷新了 dns 缓存,但是如果我使用host servername. 我想也许host没有配置为查看hosts文件。我怎样才能解决我的新条目,如果没有,OSX 使用什么resolv.conf?
我的(Windows XP、Professional、v2002、SP3)工作站完全忽略了我的主机文件。
这是我的主机文件中的代码:
127.0.0.1 localhost
172.17.1.107 wiki
Run Code Online (Sandbox Code Playgroud)
但是,当我打开浏览器并在 URL 栏中键入“wiki”并点击“Enter”时,它会将我带到我的 wiki 的旧位置,因为它出现在我的旧主机文件中:
10.0.36.100 wiki
Run Code Online (Sandbox Code Playgroud)
即使我已将旧主机文件重命名为“hosts_full”并将其移动到我的桌面(因此,完全从 etc 文件夹中删除)。
到目前为止,我已采取以下步骤:
ipconfig /flushdns从命令行ping wiki从命令行中,反应是
Reply from 10.0.36.100: bytes=32 time=1ms TTL=63
我已经清除了我能想到的所有缓存(IE、FF)。
我有一个在我的机器上运行的 ISA 防火墙客户端,我已经在禁用和启用它的情况下尝试了所有这些。事实上,防火墙使用旧的 hosts 文件来解决自己:
10.0.2.126 isa3
Run Code Online (Sandbox Code Playgroud)
不知何故,即使新的主机文件不包含该行,它仍然可以正常工作。
有任何想法吗???在此先感谢您的帮助!
我有几乎全新的 Ubuntu 桌面盒。操作系统是两周前安装的,并从 karmic 存储库更新。上周我的 DNS 没有问题。但本周发生了一些变化。我不确定是什么和什么时候,也不确定我是否更改了任何配置。
所以现在我有一些非常奇怪的情况。根据日志名称解析应该可以正常工作。
/etc/hosts
127.0.0.1 localhost test
127.0.1.1 desktop
Run Code Online (Sandbox Code Playgroud)
/etc/host.conf
order hosts,bind
multi on
Run Code Online (Sandbox Code Playgroud)
/etc/resolv.conf
# Generated by NetworkManager
search search servers obtained via DHCP
nameserver 192.168.0.3
Run Code Online (Sandbox Code Playgroud)
/etc/nsswitch.conf
passwd: compat
group: compat
shadow: compat
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
Run Code Online (Sandbox Code Playgroud)
但如果事实并非如此。
user@test ~>ping 测试
PING localhost (127.0.0.1) 56(84) bytes of data.
[skip]
Run Code Online (Sandbox Code Playgroud)
ping 没问题。
用户@测试 ~> 主机测试
test.mydomain.com has …Run Code Online (Sandbox Code Playgroud) 我有一个 IP ( 81.174.66.48),我想使用 /etc/hosts 将多个域与该 IP 关联。目前我的主机文件如下所示:
81.174.66.48 nerto.it nerto
Run Code Online (Sandbox Code Playgroud)
我想eventlog.it和eventlog.in也被解析为81.174.66.48。我试着让我的主机文件看起来像这样,但它没有按我预期的方式工作:
81.174.66.48 nerto.it nerto
81.174.66.48 eventlog.it nerto
81.174.66.48 eventlog.in nerto
Run Code Online (Sandbox Code Playgroud)
它正确的设置,在我的/ etc / hosts文件,这样nerto,nerto.it,eventlog.it,和eventlog.in所有本地决心要81.174.66.48?
我正在尝试Node.js在我的机器上本地运行多个Web 服务器。
因为我正在编写的代码需要引用一个域名,所以我想保留一个约定dev.myHost.com并将其指向从 Node 运行的非端口 80 服务(从技术上讲,我在Harp.js 上运行一个,一个在 上运行Sails.js)。
dev.hostOne.com应该指出localhost:123dev.hostTwo.com应该指向localhost:456这可能吗?如果是,如何。
hosts ×10
mac-osx ×3
linux ×2
windows ×2
alias ×1
cname-record ×1
email-server ×1
hostname ×1
ipfw ×1
networking ×1
node.js ×1
resolv.conf ×1
sendmail ×1
ubuntu ×1
windows-xp ×1