文章目录
- 0. 问题描述
- 1. 问题原因
- 2. 解决办法
0. 问题描述
楼主在Linux环境下使用的是国际版Firefox 102。但是最近在浏览一些国内网站,例如https://www.bilibili.com
时,打开网页的速度非常非常缓慢。甚至干脆就没有办法打开。
就像这样,等啊等啊等半天,就是打不开,刷新多少遍都没有用,烦死了。
但是如果挂上代理软件访问这些网站,却又能秒开。于是,我查看了在我打开bilibili
时代理软件所记录的日志,如下:
2022/07/26 17:05:36 127.0.0.1:52316 accepted tcp:127.0.0.1:0 [QV2RAY_API]
2022/07/26 17:05:43 127.0.0.1:48074 accepted //mozilla.cloudflare-dns.com:443 [bkngnxmprkfkmtk]
2022/07/26 17:05:43 127.0.0.1:48118 accepted //mozilla.cloudflare-dns.com:443 [bkngnxmprkfkmtk]
2022/07/26 17:05:43 127.0.0.1:48108 accepted //mozilla.cloudflare-dns.com:443 [bkngnxmprkfkmtk]
2022/07/26 17:05:43 127.0.0.1:48076 accepted //mozilla.cloudflare-dns.com:443 [bkngnxmprkfkmtk]
2022/07/26 17:05:43 127.0.0.1:48092 accepted //mozilla.cloudflare-dns.com:443 [bkngnxmprkfkmtk]
2022/07/26 17:05:43 127.0.0.1:48124 accepted //mozilla.cloudflare-dns.com:443 [bkngnxmprkfkmtk]
2022/07/26 17:05:43 127.0.0.1:48138 accepted //s1.hdslb.com:443 [DIRECT]
2022/07/26 17:05:43 127.0.0.1:48148 accepted //www.bilibili.com:443 [DIRECT]
2022/07/26 17:05:44 127.0.0.1:48150 accepted //i0.hdslb.com:443 [DIRECT]
2022/07/26 17:05:44 127.0.0.1:48164 accepted //i1.hdslb.com:443 [DIRECT]
虽然使用了代理软件,但是连接bilibili
的方式仍然是直连。不过在日志最开头的//mozilla.cloudflare-dns.com
这个域名的访问引起了我的注意。问题就在这里!!
1. 问题原因
我们访问网站前,需要通过DNS解析
获取某个域名实际的IP地址
,从形式上看,这种操作是向外发送一个udp包完成的。但是,这个udp包非常简陋,没有任何形式的加密。因此,第三方只要捕获了该udp包,很容易就知道了你在访问什么网站。
根据Mozilla 官方文档介绍,Mozilla
为了避免这个情况的发生,增加了DNS over HTTPS
的功能,即,不使用原先的、系统自带的DNS解析功能,转而使用一个HTTPS连接从DNS Provider
获取IP地址。从2022年后,国际版的Firefox默认开启此功能,默认的DNS Provider
为mozilla.cloudflare-dns.com
。
因为cloudfare国内访问非常不稳定,很多时候都无法连接,这也就解释了为什么我们打开国内的网站都经常无法打开以及速度奇慢无比。
2. 解决办法
以我的Firefox 102
为例,点击菜单
->Settings
->Network Settings
在页面的最下方,修改Use Provider
,将默认的Cloudflare
修改为NextDNS
。(或者是直接取消勾选Enable DNS over HTTPS
也可)
这样,再去打开我们所熟悉的一堆网站,就可以发现,简直是飞快,秒开。