绑定hosts

什么叫绑定hosts
用记事本打开hosts文件,首先看见了微软对这个文件的说明。这个文件是根据TCP/IP for Windows 的标准来工作的,它的作用是包含IP地址和Host name(主机名)的映射关系,是一个映射IP地址和Host name(主机名)的规定,规定要求每段只能包括一个映射关系,IP地址要放在每段的最前面,空格后再写上映射的Host name(主机名)。对于这段的映射说明用“#”分割后用文字说明。

测试过程中需绑定hosts。将测试环境IP绑定域名,输入域名即可连接到测试环境。
1 hosts文件地址:C:\WINDOWS\system32\drivers\etc
2 用记事本打开hosts。
在最下面一行加上:测试ip 域名 #注释。保存。

为了方便用户记忆,我们将IP变成一个个的域名来输入到浏览器进行访问。而这使得访问网站时要先将其域名解析成 IP 。
DNS (Domain Name Server) 的作用就是进行 IP 解析,把域名对应到 IP。

在 Great FireWall 的 5 种封锁方法中,有一种简单而效果很好的方法是 DNS 污染。GFW 会对 DNS 的解析过程进行干扰,这会使对某些被干扰的域名返回一个错误的 IP 地址给你的主机,使你无法正确连接到你要的服务器上读取正确的信息。

Hosts 文件本来是用来提高解析效率。在进行 DNS 请求以前,系统会先检查自己的 Hosts 文件中是否有这个地址映射关系,如果有则调用这个 IP 地址映射,如果没有再向已知的 DNS 服务器提出域名解析。也就是说 Hosts 的请求级别比 DNS 高。当你的 Hosts 文件里面有对应的 IP 时,它就会直接访问那个 IP,而不用通过 DNS。
所以,当我们直接将 Google、Twitter、Facebook 之类的 IP 放入 Hosts 文件后,就可以跳过 DNS 的解析这一步,直接就行 IP 访问,不受 GFW 的 DNS 污染干扰了

工作实际测试中
灰度中所有的数据都是线上的数据。。。就是和线上数据是一致的。测灰度要线上的账号才行。
php(web服务端)、前端(js、html、css)都有灰度环境,但是C++(后台服务)没有

绑定灰度不生效解决办法
1、双系统的机器:
设置hosts后不生效的原因主要是:设置的hosts不是当前操作系统的hosts,比如当前系统装在D盘,而修改hosts修改在了C盘的。查看当前系统安装在哪个盘的最简单方法就是开一个cmd命令行,其初始的提示符路径的磁盘就是当前系统盘:如C:\Documents and Settings\sina>, 那么C盘就是当前系统盘。或者用set命令查看系统的环境变量。

2、由于本地DNS的缓冲:
因为hosts是一个本地的dns解析服务,所以在本地有一个专门的dns client服务在后台运行,而这个服务会有一个缓存机制,所以有时可能不能及时生效。这是可以通过刷新dns缓存或手动重启dns client服务来解决。刷新命令为:ipconfig /flushdns。 手动重启dns client 服务器的方法为:cmd–》services.msc–》找到dns cilent 服务-》停止–》重启

3、由于文本格式原因导致格式不正确:
hosts文件中是有一定格式的,即单行一个dns的ip地址映射,可以一个ip对应多个域名,每行的ip和域名之间至少有一个空格或TAB键。通常我们直接输入都是正确的,而当我们复制粘贴进来的文本时,有时会不生效。这就是因为换行符的问题导致的,因为你从其它终端复制过来的内容换行格式可能与windows的换行符不一样,那这样就不会生效了。
解决办法:自己手动填写,或通过文本编辑器进行自动转换。如:editplus

  1. hosts文件必须是ascii编码方式, 如果保存为unicode格式将不会被正确读取,所以,打开host,选择“另存为”确认保存格式是否是ascii。
  2. 打开了程序后修改hosts,大部分程序不会实时更新hosts,重启程序即可更新,例如启动浏览器,系统将hosts拷贝了一份到内存中,浏览器使用内存中的hosts,这时候不会读取修改过的硬盘上的hosts,这种情况我们只需关闭浏览器使系统释放内存中的hosts,然后再重启浏览器重新读取即可。
  3. hosts文件没有扩展名,hosts文件本身是没有文件扩展名的,如果不小心被加上了如txt等的文件扩展名,就会失效。
  4. 确认hosts设置:打开本地连接的 Internet(TCP/IP)协议的属性页,点击常规选项卡中的高级按钮,选择WINS选项卡,勾选“启用 LMHOSTS 查询”,接着按下“导入 LMHOSTS”按钮,导入C:/WINDOWS/system32/drivers/etc下的hosts文件,hosts文件生效。
  5. 使用ipconfig /flushdns命令刷新dns缓存。

猜你喜欢

转载自blog.csdn.net/yhfmj123/article/details/80182547
今日推荐