自建DNS服务器绑定自定义域名时,无需客户端预安装证书实现TLS的可行性咨询
自建DNS服务器绑定自定义域名时,无需客户端预安装证书实现TLS的可行性咨询
你猜得没错,常规情况下这个需求确实没法实现,咱们可以好好拆解下背后的逻辑:
首先,公共CA(比如Let's Encrypt)签发可信证书的核心前提是验证你对目标域名的实际控制权——要么要求你在域名的DNS记录里添加指定的TXT条目,要么要求你在域名对应的公网可访问服务器上上传验证文件。而你自建DNS把公网域名(比如serverfault.com)指向私有IP的操作,完全满足不了公共CA的外部验证要求,所以根本拿不到被客户端默认信任的证书。
再拿你举的例子来说:假设你把serverfault.com解析到自己的私有IP,就算你在这个私有IP的服务器上做TLS终止,客户端访问时会检查证书的合法性。由于你没法拿到对应域名的公共可信证书,只能用自签证书,这时候客户端浏览器一定会弹出安全警告,用户一眼就能察觉到异常,根本做不到无感知的TLS访问。
唯一能实现你需求的方式,确实如你所想——给每一个要连接的客户端设备预安装自定义的根CA证书。只有这样,客户端才会信任你签发的对应域名证书,访问时不会弹出安全提示,用户也不会有任何怀疑。
备注:内容来源于stack exchange,提问作者user38643
相关产品推荐
相关产品推荐

