Назад | Перейти на главную страницу

Traefik + k8s + Let's Encrypt wildcard SSL + проблема с Cloudflare

Я пытаюсь настроить обратный прокси-сервер с подстановочным знаком SSL, используя Traefik, с вызовом DNS для зоны Cloudflare.

У меня в k8s такой конфиг:

kind: ConfigMap
apiVersion: v1
metadata:
  name: traefik-https
  namespace: kube-system
data:
  traefik.toml: |
    # traefik.toml
    defaultEntryPoints = ["http","https"]
    [entryPoints]
      [entryPoints.http]
      address = ":80"
      [entryPoints.http.redirect]
      entryPoint = "https"
      [entryPoints.https]
      address = ":443"
      [entryPoints.https.tls]
    [acme]
    email = "notmyrealemail@example.com"
    storage = "/etc/traefik/acme.json"
    entryPoint = "https"
    caServer = "https://acme-v02.api.letsencrypt.org/directory"
    [[acme.domains]]
    main = "*.notmyrealsite.com"
    sans = ["notmyrealsite.com"]
    [acme.dnsChallenge]
    provider = "cloudflare"

Я прохожу право CLOUDFLARE_API_KEY и CLOUDFLARE_EMAIL env vars в восходящем контейнере, но я вижу эту ошибку в консоли:

time = "2018-06-13T09: 47: 39Z" level = error msg = "Невозможно получить сертификат ACME для доменов \" *. notmyrealsite.com, notmyrealsite.com \ ": невозможно получить сертификаты: acme: Ошибка -> Один или в нескольких доменах возникла проблема: \ n [notmyrealsite.com] acme: Ошибка 403 - urn: ietf: params: acme: error: unauthorized - Неверная запись TXT \ "HREckyrZXY7uCVLaUkoYzadxkHbwfFavNWS_v14yMzk \" обнаружена на сайте _acnotmy.com \ nchallenge. "

Я не уверен, означает ли это, что вход в CF успешный и был обновлен (но только с неправильной записью TXT), или то, что он ожидал увидеть - и там ничего нет.

Просмотр записей DNS в CF показывает, что записей TXT нет вообще.

(Я использую только бесплатный тарифный план CF, поэтому я не получаю необработанных журналов, чтобы узнать, какие попытки были сделаны против DNS)

Что могло быть причиной несоответствия TXT?

Больше обходной путь, чем решение:

Вместо того:

[[acme.domains]]
  main = "*.example.org"
  sans = ["example.org"]

Использование:

[[acme.domains]]
  main = "*.example.org"

[[acme.domains]]
  main = "example.org"