Я пытаюсь настроить traefik в качестве обратного прокси-сервера для моих docker контейнеров, но я застрял, настраивая контейнеры для использования HTTPS.
Я скопировал docker -композит из traefik руководство пользователя и его небольшие изменения (см. Ниже).
Мои контейнеры работают нормально, и если я закомментирую две последние метки из службы whoami, я смогу получить доступ к службе через test.example .com: 80. Однако, если я добавлю две метки, я больше не получу никакого ответа от моего HTTP-запроса на https://test.example.com (: 443) .
Я могу получить сертификат в порядке, и это хранится в acme. json, как и ожидалось.
Я включил ведение журнала отладки, но ничего значимого не регистрируется. Как мне go отладить это?
version: "3.3"
services:
traefik:
container_name: "traefik"
image: "traefik:v2.1"
command:
- "--log.level=DEBUG"
- "--api.insecure=true"
- "--providers.docker"
- "--providers.docker.exposedbydefault=false"
- "--entrypoints.web.address=:80"
- "--entrypoints.websecure.address=:443"
- "--certificatesresolvers.myresolver.acme.httpchallenge=true"
- "--certificatesresolvers.myresolver.acme.httpchallenge.entrypoint=web"
#- "--certificatesresolvers.myresolver.acme.caserver=https://acme-staging-v02.api.letsencrypt.org/directory"
- "--certificatesresolvers.myresolver.acme.email=me@example.com"
- "--certificatesresolvers.myresolver.acme.storage=/acme.json"
ports:
- "80:80"
- "443:443"
- "8080:8080"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock:ro"
- "/opt/docker_volumes/traefik/acme.json:/acme.json"
networks:
- web
whoami:
image: "containous/whoami"
container_name: "simple-service"
labels:
- "traefik.enable=true"
- "traefik.http.routers.whoami.rule=Host(`test.example.com`)"
- "traefik.http.routers.whoami.entrypoints=websecure"
- "traefik.http.routers.whoami.tls.certresolver=myresolver"
networks:
- web
networks:
web:
external: true
Сеть web
была создана с помощью следующего:
docker network create --driver=bridge --subnet=10.0.0.0/24 --gateway=10.0.0.1 web