Traefik не может выдать сертификат шифрования для контейнера gitlab на другом порту

# #docker #docker-compose #gitlab #traefik #gitlab-ee

#докер #докер-сочинение #gitlab #траэфик #gitlab-ee

Вопрос:

я запускаю контейнер докера gitlab-ee за контейнером докера traefik v1. Мой gitlab должен работать в домене gitlab.dev.example.com:65443 , порт 65443 перенаправляется на 443 на моем сервере в моем маршрутизаторе (у меня есть другие вещи, работающие на моих 443 и 80 портах). моя панель управления traefik работает на traefik.dev.example.com:65443/dashboard/

Теперь, когда я хочу получить сертификат lets encrypt с помощью traefik, он пытается получить его для домена gitlab.dev.example.com и терпит неудачу с «Невозможно получить сертификат ACME для доменов». gitlab.dev.example.com» […]»

если я посещу https://gitlab.dev.example.com:65443 его, он откроет мой контейнер gitlab, но с «Сертификатом по умолчанию Traefik». Я не могу нажимать или извлекать из этих репозиториев gitlab, потому что SSL-сертификаты самоподписаны, поэтому я хочу получить сертификат для шифрования.

я поменял фактический домен с «example.com» очевидно,

мой траэфик.томл:

 debug = false  logLevel = "ERROR"  defaultEntryPoints = ["https", "http"]  [web]  address = ":80"  [docker]  endpoint = "unix:///var/run/docker.sock"  domain = "traefik.dev.example.com" //swapped the url out  watch = true  exposedByDefault = false  # Force HTTPS [entryPoints]  [entryPoints.http]  address = ":80"  [entryPoints.http.redirect]  entryPoint = "https"  [entryPoints.https]  address = ":443"  [entryPoints.https.tls]  # Enable retry sending a request if the network error [retry]  # Let's encrypt configuration [acme]  email="e@mail.com" //swapped the email out  storage="acme.json"  entryPoint="https"  acmeLogging=true  OnHostRule=true [acme.httpChallenge]  entryPoint = "http"  

теперь перейдем к моему докеру-составьте файлы. у меня есть отдельный docker-compose.yml для каждого контейнера , мой docker-compose.yml для контейнера traefik:

 version: "3.2"  services:  reverse-proxy:  image: traefik:alpine  command: --api --docker --logLevel=error  restart: unless-stopped  container_name: docker-traefik  volumes:  - /var/run/docker.sock:/var/run/docker.sock  - ./traefik.toml:/etc/traefik/traefik.toml  - ./acme.json:/acme.json  environment:  - "TZ=Europe/Berlin"  networks:  - traefik_proxy  - default  ports:  - "443:443"  - "80:80"  logging:  driver: "json-file"  options:  max-file: "3"  max-size: "5m"  labels:  - traefik.backend=traefik-proxy  - traefik.frontend.rule=Host:traefik.dev.loropserver.de  - traefik.docker.network=traefik_proxy  - traefik.port=8080  - traefik.enable=true  - traefik.frontend.auth.basic=lorop:$apr1$dHnqprRX$DjIWIaE97EnMoxwu6o/14. networks:  traefik_proxy:  external:  name: traefik_proxy # default: # driver: bridge  

my docker-compose.yml for the gitlab container:

 version: '3.5'  services:  gitlab:  image: 'gitlab/gitlab-ee:latest'  container_name: gitlab  restart: unless-stopped  hostname: 'gitlab.dev.example.com'  environment:  GITLAB_OMNIBUS_CONFIG: |  external_url 'https://gitlab.dev.example.com';  //some more configs  ports:  - '22:22'  - '5005:5005'  volumes:  - './volumes/gitlab/config:/etc/gitlab'  - './volumes/gitlab/logs:/var/log/gitlab'  - './volumes/gitlab/data:/var/opt/gitlab'  - /etc/localtime:/etc/localtime:ro  - './certs:/etc/gitlab/trusted-certs'  networks:  - traefik_proxy  labels:  - 'traefik.enable=true'  - 'traefik.port=65443'  - 'traefik.docker.network=traefik_proxy'  - 'traefik.backend=gitlab'  - 'traefik.frontend.rule=Host:gitlab.dev.example.com'  - 'traefik.http.routers.entrypoints=websecure'  networks:  traefik_proxy:  external: true