本机 hosts 配置后, 可以更灵活地访问内网服务
因为配置 hosts 后, 访问域名会根据 hosts 规则, 请求指定的 ip, 而不再请求 dns 服务器
windows 下 hosts 配置文件位置, 注意编辑时, 需要以管理员身份打开, 否则无法保存

C:\Windows\System32\drivers\etc\hosts

Linux 下的 hosts 位置

/etc/hosts

配置规则为 <ip> 空格 (至少 1 个空格, 允许多个空格)< 域名 >, 例如:

192.168.66.132 dubbo.abc.com

后面支持多个域名, 以空格分隔

# windows 下, 一行最多后面可以跟 9 个域名, 后面的就无效了
192.168.66.132 dubbo.abc.com mysql.abc.com

实测, 在 windows 下一行最多后面可以跟 9 个域名, 后面的就无效了 (Linux 上没有此限制).
我们可以重复声明相同的 ip, 这样没有域名限制, 也无需再计数 9 个了

# dubbo.abc.com 和 mysql.abc.com 都会映射到 192.168.66.132
192.168.66.132 dubbo.abc.com 
192.168.66.132 mysql.abc.com

利用 hosts 指定域名的 ip, 还可以实现屏蔽广告 / 屏蔽网络统计 (例如 cnzz) 的功能, 例如谷歌的广告域名为 ad.doubleclick.net, 我们可以加入 hosts

0.0.0.0 ad.doubleclick.net

0.0.0.0 表示无法到达的地址, 这样对于该域名的网络请求都会在本机阻止, 这也节省了机器的硬件资源

注意点:
相同域名如果配置了多个 ip, 根据书写前后, 只有第一个生效, 并不会有负载均衡的效果

# 只有第一个生效, 匹配到即不再匹配, 无负载均衡效果
192.168.66.132 dubbo.abc.com 
192.168.66.133  dubbo.abc.com 

hosts 不支持泛域名, 例如 *.baidu.com 这种

# 这种无效
192.168.66.132 *.abc.com 

hosts 也不支持指定了二级域名的 ip, 影响其下三级或者更高级域名

# 配置 abc.com 只对 abc.com 生效, 是无法影响 www.abc.com 或者 four.www.abc.com 这种
192.168.66.132 abc.com 
GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐