Трафик, выдающий сертификаты для поддоменов, работает нормально, сертификат DigitalOcean выдан для домена - PullRequest
0 голосов
/ 16 февраля 2019

У меня очень странная ситуация, я настроил traefik для выдачи давайте зашифруем сертификаты с подстановочными знаками для моих поддоменов и моего основного домена, однако сертификат основных доменов иногда является действующим сертификатом зашифрованного данных, а иногда и не-действительный сертификат "kubernetes", выданный Digital Ocean (понятия не имею, откуда это).Прямо сейчас я использую промежуточный сервер acme, чтобы не превышать ограничения скорости, поэтому сертификаты в настоящее время не являются доверенными, что вполне нормально, проблема действительно в эмитенте.На https://api.gogl.me сертификат получен от Fake LE, как и https://traefik.sys.gogl.me, но на https://gogl.me он от DigitalOcean.

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

traefik.toml

[[acme.domains]]
  main = "gogl.me"
[[acme.domains]]
  main = "*.gogl.me"
[[acme.domains]]
  main = "*.sys.gogl.me"

Служба для gogl.me

web:
    image: customnginximage
    command: ["nginx", "-g", "daemon off;"]
    depends_on:
      - backend
    networks:
      - default
      - traefik-public
    ports:
      - "80"
    deploy:
      replicas: 1
      labels:
        - traefik.enable=true
        - traefik.backend=Web
        - traefik.tags=${TRAEFIK_PUBLIC_TAG:-traefik-public}
        - traefik.docker.network=traefik-public
        - traefik.frontend.rule=Host:gogl.me
        - traefik.port=80
        # Traefik service that listens to HTTP
        - traefik.redirectorservice.frontend.entryPoints=http
        - traefik.redirectorservice.frontend.redirect.entryPoint=https
        # Traefik service that listens to HTTPS
        - traefik.webservice.frontend.entryPoints=https

1 Ответ

0 голосов
/ 16 февраля 2019

Решение на самом деле довольно простое, вместо определения двух доменов acme (gogl.me и * .gogl.me), вы должны определить домен с подстановочными знаками в качестве основного домена и фактический основной домен в качестве альтернативного домена, как указано здесь: https://docs.traefik.io/configuration/acme/#wildcard-domains

Таким образом, конфигурация должна выглядеть следующим образом:

[[acme.domains]]
  main = "*.gogl.me"
  sans = ["gogl.me"]
[[acme.domains]]
  main = "*.sys.gogl.me"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...