|
|
这里或许是互联网从业者的最后一片净土,随客社区期待您的加入!
您需要 登录 才可以下载或查看,没有账号?立即注册
×
在运维排障中,经常会听到一句话:先改下 hosts 看看。很多新手对 hosts 又熟又陌生:见过它,但不知道什么时候该用、能干嘛、会不会有风险。这篇文章用运维视角,带你系统认识 hosts 文件。
一、hosts 是什么?
hosts 是一个本地的域名解析文件,用来把“域名”直接指向“IP 地址”。
简单理解:hosts = 人工指定的 DNS 解析规则
系统在访问域名时,解析顺序通常是:
也就是说:只要 hosts 里写了规则,就会优先使用,不会再去查 DNS。
二、hosts 文件在哪里?
Linux / macOS
Windows
- C:\Windows\System32\drivers\etc\hosts
复制代码 修改 hosts 通常需要管理员/root 权限。
三、hosts 的基本格式
最常见的一行:
示例:
- 127.0.0.1 localhost
- 192.168.1.10 test.example.com
复制代码 一个 IP 可以对应多个域名
注释用 #
四、hosts 在运维中能干什么?
1. 测试新服务器 / 新站点(非常常用)在不改 DNS 的情况下,把域名临时指向新服务器:
只有你自己的电脑生效,外网用户不受影响。
2. 排查 DNS 问题
如果 hosts 指向 IP 可以访问,不写 hosts 就访问不了那问题 90% 在 DNS 或 CDN。
3. 绕过 CDN / 负载均衡排查源站
把域名直接指向源站 IP:
可以快速判断是源站问题,还是 CDN 节点问题。
4. 临时屏蔽某些域名
常见用法:
- 127.0.0.1 ads.example.com
复制代码 让广告域名无法访问。
五、使用 hosts 时的注意事项(重点)
1. 记得改完要恢复
忘记删除 hosts 是新手最常见的坑之一。
2. hosts 只对本机生效
改你电脑的 hosts,服务器、其他人完全不受影响。
3. hosts 不适合长期使用
它是临时方案,不是正式部署方式。
4. 注意缓存问题
部分系统/浏览器有 DNS 缓存,修改后可:
- ipconfig /flushdns (Windows)
- systemd-resolve --flush-caches (Linux)
复制代码
七、一个运维常用的 hosts 示例
- # 本地测试
- 192.168.10.10 test.example.com
- # 绕 CDN 直连源站
- 1.2.3.4 www.example.com
- # 屏蔽广告
- 127.0.0.1 ads.example.com
复制代码
八、一句话总结
hosts 是运维排障的“临时利器”,不是长期方案。会用 hosts,很多 DNS、CDN、上线问题都能快速定位。
|
|