Traefik не удается получить сертификат letsencrypt для внутреннего домена: ошибка обновления DNS: DNS: неверная подпись
моя цель — иметь возможность получать сертификаты для «внутренних» доменов с помощью traefik. Под «внутренним» я имею в виду отсутствие общедоступной записи A. По этой причине я не смогу использовать http-вызов, предлагаемый letencrypt. Поэтому я пытаюсь настроить certresolver traefik для использования запроса dns01.
Чего я достиг на данный момент:
- привязка настроена на прием динамических обновлений с использованием ключа
traefik-key
- добавление и удаление записей 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: acme@example.com
storage: /etc/traefik/acme.json
#caServer: https://acme-staging-v02.api.letsencrypt.org/directory
dnsChallenge:
provider: rfc2136
Эти переменные среды устанавливаются внутри контейнера traefik (ключ явно не настоящий):
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.
Без этого перенаправления это работает как прелесть.