Traefik 无法获取内部域的 letsencrypt 证书:DNS 更新失败:dns:错误签名

Traefik 无法获取内部域的 letsencrypt 证书:DNS 更新失败:dns:错误签名

我的目标是能够使用 traefik 获取“内部”域的证书。“内部”是指没有公共 A 记录。因此,我无法使用 letsencrypt 提供的 http 质询。因此,我尝试配置 traefik 的 certresolver 以使用 dns01 质询。

我目前所取得的成就:

  • bind 配置为使用密钥接受动态更新traefik-key
  • nsupdate使用上面提到的键添加和删除 TXT 记录

无效的方法:

  • traefik 无法成功请求证书:[WARN] [sub.example.com] acme: cleaning up failed: rfc2136: failed to remove: DNS update failed: dns: bad signature "

启用 dns01 挑战应该很容易:

certificatesResolvers:
  myresolver:
    acme:
      email: [email protected]
      storage: /etc/traefik/acme.json
      #caServer: https://acme-staging-v02.api.letsencrypt.org/directory
      dnsChallenge:
        provider: rfc2136

这些环境变量是在 traefik 容器内设置的(key 显然不是真正的):

RFC2136_NAMESERVER=ns1.example.com
RFC2136_TSIG_ALGORITHM=hmac-sha256.
RFC2136_TSIG_KEY=traefik-key
RFC2136_TSIG_SECRET=GWyS8tTnqO2idhxXnC8Vtc+tY5cMaKA/9RLpSlMeqKM=

我的配置出了什么问题?我可能还需要 A 记录吗?错误签名听起来像是 TSIG 的问题,但我找不到它,而且正如前面提到的,密钥/秘密组合适用于nsupdate

更不用说,没有任何名称服务器日志中有关添加 TXT 记录成功/失败的条目。仅当我省略 TSIG 配置时,它才会返回状态NOTIMP而不是上述消息。

感谢您的帮助!

答案1

啊,忘了它吧。

更不用说,名称服务器的日志中没有关于添加 TXT 记录成功/失败的尝试的任何条目。

这是我昨天没有得到的提示。很久以前,我不太喜欢浏览器使用自己的 DNS。因此,我将每个查找重定向到我自己的 DNS。acme 脚本也发生了同样的情况,试图创建 TXT 记录。

如果没有这种重定向,它就会像魔法一样起作用。

相关内容