有些情况下需要让本机对某个域名的解析结果和外面不一样。做法是在本机的一个文本文件里写上一行对应关系,系统往外问之前先看这里,有就照这里的用。这个办法在调试阶段很常用:正式配置不动,只在手里这台机器上先试通。它的作用范围只限本机,别的设备不受影响,改的只是域名和IP之间的对应,与请求走哪条线路是两件事。
能解决什么
第一类是上线前的验证:新机器还没对外,先在本地把域名指过去,就能用真实域名测试。第二类是绕开某个环节:链路上某一段暂时不可用的时候,先在本地改一条,让工作能继续。第三类是排查定位:怀疑结果被副本影响时,先在本地强行指定一个地址,看现象是否随之改变,以此确认问题出在哪一层。这样测出来的结果只在本机生效,正式环境里的IP解析照旧。
- 上线前验证:新机器还没对外,先用真实域名试通
- 暂时绕开:链路上某一段不可用时让工作继续
- 排查定位:指定一个地址,看现象是否跟着变
写法要注意什么
一行一条,前面是地址后面是名字,中间用空格分开。写多行的时候,靠前的优先。改完要清一次本机的副本,否则问出来的可能还是旧的那份。
文件里的写法对大小写不敏感,但格式错了整行都不生效。
什么时候不要用它
这个办法只作用于本机,不会影响别人,所以不适合拿来做正式方案。长期依赖它,一旦换机器或者重装系统,配置就没了,问题会重新出现。另外它和代理设置是两回事:一个决定解析到哪里去问,一个决定请求从哪条线路出去,两者各管一段,改动其中一个不会影响另一个。
和代理设置怎么配合
需要把解析和请求分开处理的时候,两者配合起来正好。解析在本地定好,请求走指定的线路,调试时改动最小。代理IP使用中出现能查到却连不上的现象,往往就是这两处没对齐造成的。
这个文件只在本机生效,换一台机器就要重写一遍。
临时办法解决临时问题,别把它当成长期配置。把解析和线路分开看,调试时的判断会清楚很多。
