能否将Let's Encrypt通配符证书同时用于Web服务器与DoH服务器?及证书格式转换问题
能否将Let's Encrypt通配符证书同时用于Web服务器与DoH服务器?及证书格式转换问题
首先明确回答你:完全可以复用这个Let's Encrypt通配符证书!你的DoH服务器doh.mydomain.com属于*.mydomain.com的覆盖范围,通配符证书的核心作用就是保护该主域名下的所有子域名,不管是Web服务、DoH服务还是其他SSL/TLS加密服务,只要域名匹配就没问题,完全不需要重新生成新证书,省掉不少后续维护的麻烦。
接下来解决你遇到的Unbound证书格式问题:
Unbound要求的两个文件是独立的私钥和证书文件,而你的Web服务器用的是acme.sh合并后的merged.ssl.pem(私钥+证书的组合文件),只需要把现有文件拆分/整理一下即可:
处理
tls-service-key(私钥文件):
你手里的domain.com.key就是单独的私钥文件,完全符合Unbound的要求。直接把它复制到Unbound配置指定的路径即可,比如:cp /path/to/your/existing/domain.com.key /unbound/domain.key或者创建软链接(方便后续证书自动更新时不用重复复制):
ln -s /path/to/your/existing/domain.com.key /unbound/domain.key处理
tls-service-pem(证书文件):
这里需要注意,Unbound的证书文件需要包含域名证书+完整的中间证书链,否则客户端可能会出现证书不受信任的问题。- 如果你的
acme.sh生成了domain.com.fullchain.cer(这个文件默认包含域名证书和Let's Encrypt的中间证书),直接用它就行:cp /path/to/your/existing/domain.com.fullchain.cer /unbound/domain.pem - 如果只有单独的
domain.com.cer,那需要手动合并域名证书和中间证书。你可以获取对应版本的Let's Encrypt中间证书,然后合并:cat /path/to/your/existing/domain.com.cer /path/to/letsencrypt-intermediate.cer > /unbound/domain.pem
- 如果你的
最后别忘了调整文件权限,确保Unbound进程能读取这两个文件:
# 私钥权限要严格限制,只有Unbound能读 chmod 600 /unbound/domain.key # 证书文件可以给读权限 chmod 644 /unbound/domain.pem # 把文件所有者改成Unbound运行的用户(根据你的系统调整,比如unbound:unbound) chown unbound:unbound /unbound/domain.key /unbound/domain.pem
做完这些配置后,重启Unbound服务,你的DoH服务器就能正常使用现有通配符证书了。
备注:内容来源于stack exchange,提问作者user227963
相关产品推荐
相关产品推荐

