🍎 iOS 企业签防掉签 · 自建 DoH

上传即用 · DNS over HTTPS 拦截苹果证书验证服务器

📡 服务端点

✅ 当前使用 HTTPS 访问,满足 iOS DoH 要求
DoH 端点(DNS Query 接口)
https://dns.xf33.top/dns-query.php

📊 黑名单拦截次数统计

0
累计拦截总次数
0 / 9
触发拦截的域名数
2026-07-27 14:20
首次统计时间
2026-07-27 14:20
最近一次拦截
黑名单域名
拦截占比
次数
ppq.apple.com
0
ocsp.apple.com
0
ocsp2.apple.com
0
crl.apple.com
0
certs.apple.com
0
valid.apple.com
0
ocsp-lb.apple.com.akadns.net
0
crl-lb.apple.com.akadns.net
0
vpp.itunes.apple.com
0
🗑 重置统计数据
数据存储:stats.json(仅统计被拦截的域名,放行域名不计入)

🛑 当前拦截域名(共 9 个)

💡 如需修改拦截列表,请编辑服务器上的 config.php 文件中 blocked_domains 数组。

⚙️ 服务器配置速览

配置项当前值说明
拦截模式 block_modenxdomain nxdomain=返回域名不存在(推荐),refused=拒绝,custom_ip=返回自定义 IP
上游 DoH 数量3 非拦截域名转发到这些上游解析,失败自动轮询
请求超时5s上游转发超时时间
鉴权 Token关闭 开启后只有携带 token 参数才能使用 DoH
访问日志关闭 开启后 DNS 查询会写入 logs/doh.log

📖 快速上手

  1. 确保你的服务器域名已经开启 HTTPS(Let's Encrypt 免费证书即可)
  2. 将当前整个文件夹(config.php / dns-query.php / index.php)上传到网站根目录或子目录
  3. 点击顶部「🧪 运行自检」确认拦截和转发功能正常(黑名单 PASS,正常域名 PASS)
  4. 使用你已有的 .mobileconfig 模板(或参考目录中的 221.mobileconfig),将其中的 ServerURL 修改为上面的 DoH 端点地址
  5. 把改好的 .mobileconfig 文件发到 iPhone,在 设置 → 通用 → VPN与设备管理 中安装描述文件
  6. 安装完成后进入 设置 → VPN、DNS与设备管理 → DNS,选择刚安装的 DNS 配置即可生效
⚠️ 副作用 & 恢复方法
① 拦截生效后,安装新的企业签 App 可能提示「无法验证」,此时临时把 DNS 切回「自动」→ 信任新签名 → 再切回防掉签 DNS 即可;
② 如需完全移除,在 设置 → 通用 → VPN与设备管理 中删除描述文件即可。

🔧 可选:美化 URL(隐藏 .php)

默认的 /dns-query.php 已经能用,如果你想和 AdGuard 官方一致使用 /dns-query/{id} 风格,可以创建 .htaccess(Apache)或在 Nginx 配置中添加伪静态。

参考配置请查看随附 .htaccess 文件和 Nginx 配置示例。