You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Traefik v2为CNAME指向子域名生成SSL证书报tls: bad certificate求助

问题根因定位

从你提供的错误日志可以直接确定,证书生成失败和CNAME配置、Let's Encrypt限流完全无关,核心问题是Traefik容器无法正常解析公网域名,连不上Let's Encrypt的ACME API服务器。错误日志中的lookup acme-v02.api.letsencrypt.org on 127.0.0.11:53: i/o timeout已经明确指向Docker内部DNS解析超时故障。

针对你最开始的疑问:子域名通过CNAME解析到其他服务器的场景,反向代理为该子域名生成SSL证书不需要额外配置,只要该子域名最终解析到反向代理所在的服务器,ACME TLS挑战就能正常完成,你当前的DNS解析配置本身没有问题。

解决步骤

按优先级依次排查修复:

  • 首先验证Server2(222.222.222.222)宿主机的网络连通性:在宿主机执行命令curl https://acme-v02.api.letsencrypt.org/directory,如果宿主机也请求超时,说明是服务器本身的出口网络问题,比如防火墙阻断了443端口出站请求、运营商屏蔽了Let's Encrypt的API地址,先解决宿主机网络连通性即可。
  • 如果宿主机请求正常,说明是Docker内置DNS(127.0.0.11)解析失效,在你的docker-compose配置的Traefik服务块中手动指定公网DNS即可,修改后的Traefik配置示例如下:
traefik:
  image: "traefik:v2.4.7"
  # 新增dns配置块
  dns:
    - 223.5.5.5
    - 8.8.8.8
  command:
    # 保持你原来的command配置不变
    - "--log.level=DEBUG"
    # ...其余原有配置不变
  • 配置修改完成后执行docker-compose up -d重建Traefik容器,进入容器内部执行nslookup acme-v02.api.letsencrypt.org确认解析正常后,即可正常申请SSL证书。

内容的提问来源于stack exchange,提问作者user2366975

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 21:48:01