hosts时操作系统里的一个文件,文件内是一些IP和域名的列表。他的作用是给本机的DNS请求指定一个域名和IP的对应关系映射表。
当我们在本机设置了hosts后(如127.0.0.1 www.baidu.com),我们本机访问www.baidu.com时会直接查询本机hosts文件内是否有www.baidu.com的结果。有的话就访问hosts中的设置 IP ,没有的话再向DNS服务器查询。
在Windows和Linux中hosts文件的名字都相同,里面填写的格式也相同的。唯一区别只是hosts文件的存储目录不同。
mac系统:~/private/etc
Windows系统:C:\Windows\System32\drivers\etc
Linux系统:/etc
如果你使用的是宝塔面板,可能在面板里看不到hosts文件,我们可以打开/etc目录后在目录内搜索hosts即可。
hosts文件内是一行一行的设置。每条结果设置一行,不支持 * 泛域名设置。
示例:
IP空格域名
127.0.0.1 baidu.com
127.0.0.1 www.baidu.com
127.0.0.1 b2.baidu.com
127.0.0.1 h5.baidu.com
127.0.0.1 static.baidu.com
127.0.0.1 test.baidu.com
127.0.0.1 test522.baidu.com
127.0.0.1 seven.baidu.com
127.0.0.1 cloud.baidu.com
hosts文件有很多妙用,比如我们域名可以通过hosts来指定任意一个IP地址去访问。
也可以在反向代理中通过指定hosts来让我们反代节点到正确的服务器上去查找资源。