Traefik Let's Encrypt ACME Route53 для нескольких доменов - PullRequest
0 голосов
/ 09 декабря 2018

У меня есть Traefik, настроенный на выдачу групповых сертификатов Let's Encrypt с вызовом DNS-01.

У меня есть переменные AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_REGION, AWS_HOSTED_ZONE_ID в файле env для домена * .domain1.com (ком).Этот AWS_HOSTED_ZONE_ID относится только к domain1.com.

Мне нужно добавить новый домен domain2.com, также размещенный на Route53, чтобы Traefik мог выдавать сертификаты как для * .domain1.com, так и * .domain2.com.

Как Traefik выдает сертификаты Letsencrypt в нескольких доменах Route53?

Далее мой файл treafik.yml:

version: "3.6"

services:

  traefik:
    image: traefik
    env_file: /mnt/ceph/traefik/env
    command:
      - "--debug=true"
      - "--logLevel=DEBUG"
      - "--api"
      - "--entrypoints=Name:http Address::80 Redirect.EntryPoint:https"
      - "--entrypoints=Name:https Address::443 Compress:true TLS"
      - "--defaultentrypoints=http,https"
      - "--acme"
      - "--acme.storage=acme.json"
      - "--acme.acmeLogging=true"
      - "--acme.entryPoint=https"
      - "--acme.email=email@domain1.com"
      #- "--acme.caServer=https://acme-staging-v02.api.letsencrypt.org/directory"
      - "--acme.caServer=https://acme-v02.api.letsencrypt.org/directory"
      - "--acme.dnsChallenge.provider=route53"
      - "--acme.dnsChallenge.delayBeforeCheck=0"
      - "--acme.domains=*.domain1.com,domain1.com"
      - "--docker"
      - "--docker.domain=domain1.com"
      - "--docker.exposedByDefault=false"
      - "--docker.swarmMode"
      - "--docker.watch"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /mnt/ceph/traefik/acme.json:/acme.json
    networks:
      - backend
      - webgateway
    ports:
      - target: 80
        published: 80
        mode: host
      - target: 443
        published: 443
        mode: host
      - target: 8080
        published: 8080
        mode: host
    deploy:
      mode: global
      placement:
        constraints:
          - node.role == manager
      update_config:
        parallelism: 2
        failure_action: rollback
        order: start-first
        #delay: 5s
      restart_policy:
        condition: on-failure
      labels:
        - "traefik.enable=true"
        - "traefik.backend=dashboard"
        - "traefik.port=8080"
        - "traefik.frontend.rule=Host:dashboard.domain1.com"

networks:
  backend:
    name: traefik_backend
    driver: overlay
    external: true
  webgateway:
    driver: overlay

Заранее спасибо !!

...