Я использовал traefik для обратного прокси. Ранее я использовал для докеров контейнеры с обратным прокси, это работало. Но когда я переключаюсь на Docker Swarm, traefik.frontend.rule
не работает неожиданно. Работал с использованием IP-адреса с портом только на панели инструментов Traefik.
Docker Service
docker service create
--name apiServer
--restart-condition=on-failure
--network="domain-net"
-p 8889:8889
--label "traefik.backend=apiServer"
--label "traefik.frontend.rule=Host:api.domain.com"
--label "traefik.enable=true"
--label "traefik.port=8889"
--label "traefik.docker.network=domain-net"
--label "traefik.frontend.headers.SSLRedirect=true"
--label "traefik.frontend.headers.STSSeconds=315360000"
--label "traefik.frontend.headers.browserXSSFilter=true"
--label "traefik.frontend.headers.contentTypeNosniff=true"
--label "traefik.frontend.headers.forceSTSHeader=true"
--label "traefik.frontend.headers.SSLHost=domain.com"
--label "traefik.frontend.headers.STSIncludeSubdomains=true"
--label "traefik.frontend.headers.STSPreload=true"
--label "traefik.frontend.headers.frameDeny=true"
Докер-compose.yml
version: "3.3"
services:
traefik:
image: traefik
command: --web --docker --docker.swarmmode --docker.watch --docker.domain=domain.com --logLevel=DEBUG
ports:
- "80:80"
- "8080:8080"
- "443:443"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /etc/traefik/docker-swarm:/traefik.toml
labels:
- "traefik.enable=false"
networks:
- domain-net
deploy:
replicas: 1
placement:
constraints: [node.role==manager]
restart_policy:
condition: on-failure
networks:
domain-net:
driver: overlay
Задача
api.domain.com
показывает Ошибка 521 Веб-сервер не работает