分享一个 chrome 的坑

2017-11-13 15:10:28 +08:00
 trepwq

dhcp 分配主 dns 地址是 dnsproxy,备用 dns 地址是 8.8.8.8。
一些 cdn 的 js,css 等使用 chrome 一直 pending,然后超时 failed,而 safari 和 wget、dig 等都正常下载。
最后排查到换掉备用 dns 地址四个 8 后,问题解决。
chrome 是不是基于对 8.8.8.8 的天然信任会使用四个 8 去解析地址,而其他 app 默认使用主 dns ?

3205 次点击
所在节点    分享发现
17 条回复
lqzhgood
2017-11-13 16:37:32 +08:00
我觉得 chrome 也不知道自己用的哪个 DNS 吧,chrome 应该只去请求系统 Api,系统返回是啥就是啥。
不过 windows 下我感觉 主备 DNS 是随机请求的~(个人感觉) MAC 不知道
有没有 windows 开发的大神来解释下~
flynaj
2017-11-13 17:00:42 +08:00
8.8.8.8 被劫了
qiqico
2017-11-13 17:02:23 +08:00
可以试下,chrome://net-internals#dns 刷新下缓存
Tink
2017-11-13 17:04:15 +08:00
有 dnsproxy 的话没必要要 8888 了呀,dbsproxy 里面墙外地址用的就是 8888
trepwq
2017-11-13 18:24:48 +08:00
@Tink 自己搭的,怕哪天挂了,就加个四个 8 备用,没想到被坑了
trepwq
2017-11-13 18:26:19 +08:00
@qiqico 刷新后还是四个 8 解析的结果,规律很明显,safari 关闭 cache 后,每次都能打开,Chrome 关闭 cache 每次都打不开
trepwq
2017-11-13 18:26:41 +08:00
@flynaj 我们四个 8 走的专线不会被劫持
trepwq
2017-11-13 18:28:08 +08:00
@lqzhgood 我用 chrome 每次的解析结果都是四个 8 的,用 safari 每次都是 dnsproxy 的,这要是随机,我人品得多差。。。
riggzh
2017-11-13 18:33:15 +08:00
发个例子呗
trepwq
2017-11-13 19:08:55 +08:00
@riggzh 例子就是 js 文件四个 8 解析到了香港服务器,然后连不上这个香港服务器,一直 pending,使用国内 dns 服务器解析到国内服务器,正常响应
skydiver
2017-11-13 19:12:55 +08:00
@trepwq 又不是每次都重新解析的…第一次解析过就缓存住了
trepwq
2017-11-13 19:15:04 +08:00
@skydiver cdn 解析 ip 缓存时间很短,基本每次都重新解析
skydiver
2017-11-13 21:14:32 +08:00
@trepwq 我说的是浏览器会缓存……
lqzhgood
2017-11-13 22:25:59 +08:00
@trepwq 系统 DNS 缓存清了没~ 浏览器 DNS 缓存清了没。。。
trepwq
2017-11-13 23:06:02 +08:00
@skydiver 调试肯定是钩上 disable cache 啊
skydiver
2017-11-13 23:15:18 +08:00
@trepwq 那个不包括 DNS cache 吧,得去 chrome://net-internals#dns 清空
trepwq
2017-11-13 23:26:57 +08:00
@skydiver 这个当然也清了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/405986

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX