[原创首发] 🔐 通过 EdgeOne CDN 搭建专属于你的隐蔽纯净 DoH 服务

🔐 通过 EdgeOne CDN 搭建专属于你的隐蔽纯净 DoH 服务

本文介绍一种基于 EdgeOne CDN 规则引擎的 DoH(DNS over HTTPS)部署思路:在不额外准备服务器的前提下,将一个已经正常接入 EdgeOne CDN 的 HTTPS 站点扩展为自定义路径的 DoH 服务。

这种方式的核心优势在于,DoH 请求会经过你现有的 CDN 域名与自定义路径转发到上游 DNS 服务。对外看起来仍然是一个普通 HTTPS 站点,既能降低额外运维成本,也能让服务形态更加自然、可控。


🧰 事前准备

  • 一个正在使用 EdgeOne CDN 加速的网站,并且已经完成 HTTPS 证书配置。例如:eo.blog.cmliussss.com
    EdgeOne CDN 加速的站点

  • 🎯 本文最终要实现的效果是:让 https://eo.blog.cmliussss.com/CMLiussss 这个地址对外提供 DoH 服务。

    ⚠️ 建议不要直接使用 /dns-query 作为公开访问路径。该路径是 DoH 服务中非常常见的特征路径,识别度较高;使用自定义路径可以降低服务暴露的特征,整体上也更灵活。


🖼️ 图文教程

1. 🧩 创建规则

  • 前往 站点加速 -> 规则引擎 -> 创建规则 -> 新增空白规则
    创建规则

2. ⚙️ 填写规则内容

  • 规则名称:可按自己的习惯填写,例如 DoH 服务
    创建规则
  • IF1
    • 匹配类型:HOST,运算符:等于,值:eo.blog.cmliussss.com替换成你自己的域名
      + And

    • 匹配类型:URL path,运算符:等于,值: /CMLiussss替换成你需要实现 DoH 服务的路径

    • 操作

      • 修改源站,源站类型:IP/域名,值:cloudflare-dns.com,回源协议:HTTPS,HTTPS 回源端口:443
      • Host Header 重写,模式:自定义,目标值:cloudflare-dns.com
      • 回源 URL 重写,类型:替换完整路径,目标路径:/dns-query
    • IF2

      • 匹配类型:请求方法,运算符:等于,值:GET
        + And

      • 匹配类型:查询字符串,参数名称:name,运算符: 存在
        + And

      • 匹配类型:HTTP 请求头,头部名称:自定义 > accept,运算符: 不等于,值:application/dns-message,忽略大小写

      • 操作

        • 修改 HTTP 回源请求头,头部名称:自定义 > accept,头部值:application/dns-json
        • 修改 HTTP 节点响应头,头部名称:自定义 > content-type,头部值:application/json
    • ELSE IF

      • 匹配类型:请求方法,运算符:等于,值:POST

      • 操作

        • 修改源站,源站类型:IP/域名,值:dns.google,回源协议:HTTPS,HTTPS 回源端口:443
        • Host Header 重写,模式:自定义,目标值:dns.google

3. ✅ 保存并发布

  • 点击 保存并发布 后返回 域名管理,等待配置状态变为 已生效
    等待状态变为已生效

4. 🎉 部署完成


5. 📱 配置使用

  • 后续只需要将你的 DoH 服务地址 https://eo.blog.cmliussss.com/CMLiussss 配置到支持自定义 DoH 的客户端、浏览器或网关中即可使用。

💡 建议根据自己的实际域名和路径进行替换,并定期检查 EdgeOne 规则是否仍然生效。如果后续更换上游 DoH 服务,也只需要调整源站、Host Header 和回源路径等相关配置。


新人 Youtuber,需要您的支持。如果这篇文章对你有帮助,欢迎帮我点赞关注打开小铃铛十分感谢!!! 🙏