Traefik + k8s + Vamos criptografar o problema wildcard SSL + Cloudflare

1

Estou tentando configurar um proxy reverso com SSL curinga usando o Traefik , com um desafio de DNS contra uma zona do Cloudflare.

Eu tenho esta configuração em 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 = "[email protected]"
    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"

Estou passando as CLOUDFLARE_API_KEY e CLOUDFLARE_EMAIL env vars corretas no contêiner upstream, mas estou vendo esse erro no console:

time="2018-06-13T09:47:39Z" level=error msg="Unable to obtain ACME certificate for domains \"*.notmyrealsite.com,notmyrealsite.com\" : cannot obtain certificates: acme: Error -> One or more domains had a problem:\n[notmyrealsite.com] acme: Error 403 - urn:ietf:params:acme:error:unauthorized - Incorrect TXT record \"HREckyrZXY7uCVLaUkoYzadxkHbwfFavNWS_v14yMzk\" found at _acme-challenge.notmyrealsite.com\n"

Não tenho certeza se isso significa que o login do CF é bem-sucedido e foi atualizado (mas apenas com o registro TXT errado) ou se é isso que ele espera ver - e nada está lá .

Observar as entradas de DNS no CF não revela nenhum registro TXT.

(Eu estou apenas no plano livre do CF, portanto, não recebo registros brutos para ver quais tentativas foram feitas contra o DNS)

O que pode estar causando a incompatibilidade de TXT?

    
por Lee Benson 13.06.2018 / 12:11

1 resposta

0

Mais uma solução do que uma solução:

Em vez de:

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

Uso:

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

[[acme.domains]]
  main = "example.org"
    
por 05.07.2018 / 21:10