私人 DNS 提示「无法验证服务器身份」?证书问题排查
TL;DR:「无法验证服务器身份」本质是 TLS 证书校验失败。最快两步:① 到 设置 → 系统 → 日期和时间 打开「自动设置」——时间偏差会让证书被判定未生效或已过期;② 逐字核对主机名(如
dns.23-4.cn)有没有填错。仍报错就换网络测试:只在某个 Wi-Fi 报错,通常是该网络在 853 端口做了中间人,可改走 443 端口的 DoH。
先确认是哪一种「验证失败」
| 表现 | 含义 | 优先排查 |
|---|---|---|
| 一保存就弹「无法验证服务器身份」 | TLS 握手时证书没通过 | 系统时间、主机名拼写 |
| 在某个网络才报错,换网络就好 | 该网络对 853 端口做了中间人/替换证书 | 换网络、改用 DoH |
| 提示证书「已过期/尚未生效」 | 本地时间与证书有效期对不上 | 校准系统时间 |
| 提示主机名「不匹配」 | 所填域名与证书覆盖的域名不一致 | 核对主机名后缀 |
安卓私人 DNS 基于 DoT(DNS over TLS,RFC 7858),系统会用你填的主机名去建立 TLS 连接并校验服务器证书,任何一环对不上都会拒绝连接并给出这类提示。
按概率排序的常见原因
| 概率 | 原因 | 说明 |
|---|---|---|
| 高 | 系统时间不准 | 证书有有效期,手机时间快/慢几天即判为无效,是最常见原因 |
| 高 | 主机名填错/拼错 | 多空格、少后缀、把域名写错,都会让证书域名不匹配 |
| 中 | 网络中间人替换证书 | 企业/公共 Wi-Fi 在 853 端口返回自己的证书,校验自然失败 |
| 中 | 服务器证书链不完整 | 服务器只发了叶子证书、缺中间证书,安卓可能不信任 |
| 低 | 证书确实过期 | 服务器端问题,可换公共 DoT 对比确认 |
分步排查与修复
1
校准系统时间进入「设置 → 系统(或系统和更新)→ 日期和时间」,打开「自动确定日期和时间」与「自动确定时区」。确认完退出再重新保存一次私人 DNS 主机名。这一步能解决相当比例的「无法验证服务器身份」。
2
逐字核对主机名删掉原来的内容,手动重新输入
dns.23-4.cn:不带 https://、不带 :853、不要 IP、不要有多余空格。保存后看是否还报错。3
换网络定位关掉 Wi-Fi 用移动数据连一次。如果换网络就正常,说明不是证书本身的问题,而是原网络在 853 端口做了拦截/中间人——这时应改用走 443 端口的 DoH,而不是反复折腾证书。
4
横向对比服务器把主机名临时换成
dns.google 再测。若换了就不报错,说明问题在原服务器的证书(链不完整或已过期);若都报错,回到本机时间与网络。5
改用 DoH 绕开 853 中间人在浏览器支持 DoH 的设置里填
https://dns.23-4.cn/dns-query(走 443,与普通 HTTPS 同端口,通常不被拦),可在网络环境受限时代替私人 DNS 使用。不要为了「跳过验证」而随意安装来路不明的根证书。私人 DNS 校验证书正是为了防中间人,绕过它等于把加密保护关掉。
高级排查:怎么看到服务器证书到底哪里不对
有电脑时,可用 openssl 直接查看 DoT 服务器的证书有效期与域名(SAN):
openssl s_client -connect dns.23-4.cn:853 -servername dns.23-4.cn -showcerts /dev/null | openssl x509 -noout -dates -subject
- notBefore / notAfter:证书有效期。用手机当前时间对照,若落在区间外就是时间或证书过期问题。
- subject / SAN:证书覆盖的域名。确认它包含你填的主机名(如 dns.23-4.cn)。
- 若命令在你当前网络下返回的证书与官方不符,基本可判定网络做了中间人。
DoT 与 DoH 的端口、标准号区别,见 私人 DNS 加密原理(DoT / RFC 7858)。
234 加密DNS 服务地址
https://dns.23-4.cn/dns-querytls://dns.23-4.cndns.23-4.cn私人DNS主机名填第三个;证书由受信 CA 签发,时间正常、主机名正确即可通过校验。
常见问题
为什么私人DNS总提示“无法验证服务器身份”?+
这是TLS证书校验失败。最常见三类原因:系统时间不准(证书未生效或已过期)、主机名与服务器证书的域名不匹配(填错了地址)、网络在853端口上做了中间人替换证书。先校准时间、再核对主机名,最后换网络测试。
手机时间明明是对的,为什么还报证书错误?+
可能只是显示时区不对导致实际时间偏差,或主机名少填/多填了字符(例如把dns.google写错)。重新完整输入主机名并确认保存;也可换一个公共DoT服务器对比,判断是本机还是服务器问题。
换个Wi-Fi就正常、用流量就报错,是怎么回事?+
通常是该网络在853端口上拦截或做了加密DNS中间人。这类网络自己返回了一张受其控制的证书,安卓校验不通过就会报“无法验证服务器身份”。可改用走443端口的DoH,或更换网络环境。
私人DNS可以填IP地址绕过证书校验吗?+
不建议。安卓私人DNS要求填主机名,系统据此建立TLS并校验证书,这正是防中间人攻击的核心;填IP或跳过校验会削弱安全性。应修正时间与主机名,而不是绕过校验。
信息来源
- RFC 7858:DNS over TLS(DoT)与证书校验要求
- RFC 8484:DNS over HTTPS(DoH,走 443 端口)
- IANA:端口号登记(853/DoT、443/HTTPS)
- Android Developers:加密 DNS 与身份校验
最后更新:2026-10-01 · © 234实验室