先说明一下我是如何出现这个问题的
由于服务器部署在亚马逊云平台上,真实地址是在日本的东京,所以公司自然有VPN专线,由于域名解析太慢,公司内部要求使用缓存DNS,对比了bind,dnsmasq,unbound
对比之后我选择了dnsmasq 因为其配置简单 ,关键可以添加CNAME(别名) 也可以设置缓存时间,并且特定的域名可以交给特定的DNS服务器解析, 设置白名单比较方便,对于bind则要添加相应的zone,在配置zone对应的文件,比较繁琐。
关于dnsmasq的配置这里就不再多说了。可点击链接查看
启动服务之后发现问题 : 在Google浏览器上出现 ERR_CERT_COMMON_NAME_INVALID 这样的报错,就是一个错误的域名访问了某个节点的的https的资源 经分析可得出一下两个结论:
- dns污染(比较常见)
- hosts文件设置错误
排查了hosts文件之后,问题依然没有解决,于是就解决dns污染问题,那就要说明一下什么是dns污染 DNS污染是指一些