中国大陆网络环境特别优化指南
鉴于中国大陆特殊的网络环境,直接连接 Cloudflare 的 Anycast 节点可能导致高延迟甚至连接重置。为获得极致的 DoH 解析体验,强烈建议中国大陆用户采用 “自定义域名 + 特征伪装 + CNAME 优选” 的进阶部署方案。下文将详细介绍各步骤的实施方法。
TIP
随机域名生成建议:为最大程度规避特征检测,建议使用无连字符的 UUID 作为子域名,例如 8dc76a899f244efa89793c55367b0930.example.com。您可以通过 uuid.rpnet.cc 快速生成此类随机字符串。本文所有示例均基于此随机域名展开。
一、主动防御与特征伪装
GFW 会对域名中包含 doh 等敏感关键词的子域进行 SNI 嗅探与主动阻断。在绑定自定义域名前,请务必完成以下伪装工作:
- 规避敏感域名:切勿使用如
doh.example.com这类包含doh的子域名。请使用随机生成的字符串或无特定含义的词汇(例如上述 UUID 示例)。 - 修改默认路由:在 Cloudflare 环境变量中,将默认的
DOH_PATH(/dns-query)更改为无特征路径(例如/auth-verify或/query)。 - 注入 Nginx 伪装页面:为防止 GFW 的主动探测爬虫通过访问根目录暴露 DoH 代理特征,请在环境变量中添加
ROOT_CONTENT,并填入以下标准的 Nginx 默认欢迎页 HTML 代码,使根目录呈现为一个普通的 Nginx 未配置站点:
<!DOCTYPE html><html><head><title>Welcome to nginx!</title><style>html { color-scheme: light dark; } body { width: 35em; margin: 0 auto; font-family: Tahoma, Verdana, Arial, sans-serif; }</style></head><body><h1>Welcome to nginx!</h1><p>If you see this page, the nginx web server is successfully installed and working. Further configuration is required.</p><p>For online documentation and support please refer to <a href="http://nginx.org/">nginx.org</a>.<br/>Commercial support is available at <a href="http://nginx.com/">nginx.com</a>.</p><p><em>Thank you for using nginx.</em></p></body></html>二、将子域名托管至华为云 DNS
为实现境内外流量的分线路解析,需要将您选定的子域名(例如 8dc76a899f244efa89793c55367b0930.example.com)的 DNS 解析权完全交给支持地域解析的第三方平台(以华为云 DNS 为例)。
在华为云添加子域名作为独立 DNS 区域 注册并登录华为云,进入云解析服务 DNS,点击“添加公网域名”,输入您的完整子域名(如
8dc76a899f244efa89793c55367b0930.example.com)。添加成功后,华为云将自动为该子域名分配一组 DNS 服务器地址(通常为ns1.huaweicloud-dns.com、ns1.huaweicloud-dns.cn等)。在上级 DNS 服务商处设置 NS 记录 前往您主域名(
example.com)当前使用的 DNS 服务商控制台(可能是域名注册商,也可能是 Cloudflare DNS),为您的子域名添加以下四条 NS 记录,将解析权委派给华为云:- 主机记录:填写您的子域名前缀(例如
8dc76a899f244efa89793c55367b0930) - 记录类型:
NS - 记录值:依次为华为云分配的四条 DNS 服务器地址:
ns1.huaweicloud-dns.comns1.huaweicloud-dns.cnns1.huaweicloud-dns.netns1.huaweicloud-dns.org
保存后,等待全球 DNS 生效。此后,该子域名及其所有子记录的解析将完全由华为云控制。
- 主机记录:填写您的子域名前缀(例如
三、平台回源绑定(建立默认解析线路)
在华为云 DNS 中,我们需要先为子域名添加一条 “全网默认”线路的 CNAME 记录,将请求指向 Cloudflare 分配的默认域名。这条记录的作用是让 Cloudflare 能够验证域名的所有权,并建立基础的请求路由,确保后续优选配置能够生效。
方案 A:Workers 部署
- 华为云侧配置:在子域名的 DNS 记录中,添加一条 CNAME 记录:
- 主机记录:留空(或填写
@,表示该子域名本身) - 记录类型:
CNAME - 线路类型:全网默认
- 记录值:您的 Worker 默认域名(例如
your-worker.your-subdomain.workers.dev)
- 主机记录:留空(或填写
- Cloudflare 侧配置:在 Cloudflare 仪表板中,进入 Workers 和 Pages,选择您的 DoHflare Worker,点击“触发器”->“添加路由”,输入
8dc76a899f244efa89793c55367b0930.example.com/*,保存。
方案 B:Pages 部署
- 华为云侧配置:同样添加一条 全网默认 线路的 CNAME 记录,记录值填写您的 Pages 默认域名(例如
your-project.pages.dev),主机记录留空。 - Cloudflare 侧配置:进入 Pages 项目详情页的 自定义域 选项卡,点击“设置自定义域”,输入
8dc76a899f244efa89793c55367b0930.example.com。- 注:若您的主域名
example.com仍托管在 Cloudflare,Cloudflare 可能会自动在其自身 DNS 中添加一条 CNAME 记录以激活域名。由于解析权已委派给华为云,该记录并无实际作用,建议在自定义域状态变为“活动”后,前往 Cloudflare DNS 面板中将其删除。
- 注:若您的主域名
四、注入 CNAME 优选线路(针对中国大陆加速)
当“全网默认”线路配置完成且功能正常后,即可针对中国大陆流量进行优选加速。在华为云 DNS 控制台中,为同一子域名添加第二条 CNAME 记录,操作如下:
- 主机记录:留空(表示该子域名本身)
- 记录类型:
CNAME - 线路类型:选择 地域解析,并在展开的下拉框中选中 中国大陆
- 记录值:填写您选择的 Cloudflare 优选域名,例如
cdn.rpnet.cc或cloudflare.182682.xyz - 点击“确定”保存,等待 DNS 生效。
最终效果
通过上述配置,您的 DoH 服务将实现智能分流:
- 境外请求:命中“全网默认”线路,请求被指向 Cloudflare 默认边缘节点。
- 中国大陆请求:通过华为云的地域解析精准调度至优选节点,显著降低解析延迟,获得稳定、快速的 DoHflare 体验。
本方案已在实践中验证可行,推荐中国大陆用户采用。