问题

通过 VPN + DNS 的方式 将域名 u.foo.com 映射成内网测试环境的地址(如 10.10.205.90)
但是连山VPN 配上了DNS后 浏览器中访问的还是生产的地址 但是命令行中解析的是内网地址

➜  ~ nslookup u.foo.com
Server:        10.10.204.103
Address:    10.10.204.103#53

Name:    u.foo.com
Address: 10.10.205.90

即命令中可以正确映射到内网地址 但浏览器中却不可以

原因
应该是浏览器缓存导致 即已经缓存了 u.foo.com 的IP为生产地址

解决

尝试1
通过访问chrome://net-internals/#dns 清空缓存 但一点效果都没有

尝试二
这篇文章中得知:

在cache查询的时候如果这个cache已经过时了即staled,也会返回null,而判断是否stale的标准如下:即网络发生了变化,或者expired_by大于0,则认为是过时的cache

于是通过关闭wifi 再打开的方式 人工触发网络变化 使得cache过期 这次果然好使了


zhuguowei2
825 声望26 粉丝