一、先理清场景边界
我们先对齐条件:
- 域名归属你方,拥有域名 DNS 解析控制权;
- 站点服务器、服务端口全程隔离在局域网,互联网无法路由访问;
- 内网 DNS 单独管控,内网终端访问域名,解析到内网私网 IP;公网解析可以不配置、或者直接不对外提供解析;
- 目标:浏览器出现安全小锁,消除不安全告警,加密传输,优先不批量给终端安装根证书。
划重点:HTTP-01 验证不适合这个场景。HTTP 验证要求 CA 服务器能访问到你 80 端口上的验证文件,内网服务器不通公网,天然无法完成。DNS-01 不受服务器连通性限制,只需要在域名 DNS 服务商后台新增一条 TXT 验证记录,CA 读取 TXT 记录确认域名归属,签发证书,全程不需要服务器暴露公网。
这个方案也叫分裂 DNS(Split DNS) :同一套域名,公网侧只用来做 DNS 验证,内网 DNS 给出内网 IP 解析结果,内外两套解析分流,互不冲突。
二、两套主流落地方案对比
方案 A:公网可信 CA 证书(DNS-01 签发,优先推荐)
✅ 优点
- 证书是浏览器原生信任根,所有电脑、手机,不用导入任何根证书,打开直接带小锁;
- 支持通配符证书,一张证书覆盖多个内网子域名,和你之前的使用习惯一致;
- 合规友好,等保、安全审计认可度高,国密 CA 也支持 DNS 验证签发国密 SM2 证书;
- 证书自动续期脚本可以对接 DNS 服务商 API,到期自动更新,减少人工维护。
❌ 限制条件
- 你必须持有这个域名所有权,能登录域名 DNS 后台添加 TXT 记录;
- 域名不能是
.local、.internal这类保留私有后缀,公共 CA 不支持签发这类域名证书; - 证书签发完成之后,域名公网解析可以删掉,只保留内网 DNS 解析,服务器依旧完全内网隔离。
简要流程:
- 准备域名,在 DNS 服务商添加 DNS-01 要求的 TXT 验证记录;
- CA 校验 TXT 记录,签发 DV/OV 通配符 SSL 证书;
- 证书下载,部署到 Nginx、Apache、反向代理;
- 内网 DNS 配置,把域名指向内网服务器私网 IP;
- 内网终端访问,走内网 DNS 解析,HTTPS 正常加密,无告警。
方案 B:自建私有 CA(适合纯私有域名、无注册域名场景)
如果你的内网系统使用纯私有域名,没有注册公网域名,无法走公共 CA 签发,就适合自建私有 CA。比如 AD CS、Smallstep Step-CA、OpenSSL 自建根 CA。
✅ 优点
- 不受域名限制,可以给任意内网私有域名、甚至内网 IP 签发证书;
- 证书生命周期自主掌控,成本低,适合大规模内部服务;
- 完全不依赖公网、DNS 服务商。
❌ 短板(也是很多人踩坑点)
- 浏览器默认不信任,内网每一台终端(Windows、Mac、手机、平板)都需要把根 CA 证书导入系统受信任根存储;
- 终端数量多的时候,需要通过域策略、MDM 设备管理批量分发根证书,手动安装工作量巨大;
- 外部临时接入的访客设备,无法自动信任,依旧会弹出不安全提示;
- 部分小程序、SDK、第三方客户端,不支持加载私有根证书,会出现接口调用失败。
三、常见踩坑点
- 证书签发成功之后,不要混淆两套 DNS。公网 DNS 只是用来做验证,验证通过,TXT 记录可以清理;业务访问依赖内网 DNS,一旦内网 DNS 解析异常,HTTPS 会报域名不匹配。
- 通配符证书匹配规则:
*.a.com只匹配一级子域名,多层子域名需要多域名 SAN 证书。 - 不要把 DNS-01 验证记录长期留在公网,验证完成清理 TXT 记录,减少域名信息暴露。
- 不要把自签名证书和私有 CA 证书混为一谈:裸自签名证书没有信任体系,只适合临时测试,生产环境不建议长期使用。
- 证书续期:DNS-01 方案建议搭配 ACME 工具 + DNS API 自动续期,避免证书遗忘过期,再次回到告警状态。
四、怎么选方案,一句话总结
- 你有自己注册的域名、内网人员设备复杂、有访客手机接入、不想给每台设备装根证书 → DNS-01 + 公网可信 SSL 证书,分裂 DNS 方案,首选
- 纯内网私有后缀域名、设备全部入域可控、可以批量推送根证书、追求完全离线自主可控 → 自建私有 CA
五、补充备选:如果条件完全受限怎么办?
如果域名不在自己手里、无法添加 DNS TXT 记录,两条备选路线:
- 降级 HTTP 80 端口:消除证书告警,但明文传输,内网抓包可以直接看到传输内容,只适合完全无敏感数据的展示页面,不适合业务系统、登录后台;
- 内网 HTTPS 网关:统一前置代理,网关统一托管证书,后端业务服务不用改配置,适合多系统统一接入。
结尾
内网 HTTPS,长久以来大家陷入两个极端:要么嫌麻烦裸奔 HTTP,要么图省事用自签名证书忍受告警。DNS-01 验证模式打破了 "必须公网可访问才能拿可信证书" 的固有认知。只需要域名控制权,不用服务器暴露外网,就能拿到浏览器原生信任的 SSL 证书,低成本完成内网业务加密改造。