Невозможно подключиться к внешним интерфейсам с HTTPS с определенным доменом: ошибка 502 или ошибка 504 (дБ или веб-почта). Я использую 3 файла YAML: 1 для traefik 1 для субдомена 1, 1 для субдомена 2
Трафик и конфигурация домена 1 в порядке, проблема на поддомене 2.Конфигурация сети в docker-compose практически одинакова для субдомена1 и субдомена2.Перезапуск и воссоздание контейнера ничего не меняет.
traefik.yaml
version: '3'
networks:
internal:
internal: true
external: false
prometheus:
external:
name: dockerprometheus_back-tier
services:
reverse-proxy:
image: traefik #The official Traefik docker image
container_name: traefik
command: --api --docker --docker.domain=domain.local
ports:
- "80:80" #The HTTP port
- "443:443" #The HTTPS port
labels:
- traefik.enable=true
- traefik.frontend.rule=Host:mail.prekre.com
- traefik.port=8080
- traefik.docker.network=prometheus
expose:
- "8090"
env_file:
- ./prekre.env
volumes:
- /var/run/docker.sock:/var/run/docker.sock #So that Traefik can listen to the Docker events
- ./traefik2.toml:/traefik.toml
- ./acme.json:/acme.json
restart: always
command: --api --docker --docker.domain=domain.local #Enables the web UI and tells Træfik to listen to docker
# command: --web --web.metrics.prometheus --web.metrics.prometheus.buckets="0.1,0.3,1.2,5.0" --docker --docker.domain=domain.local --logLevel=DEBUG
networks:
- prometheus
ports:
- "80:80" #The HTTP port
- "443:443" #The HTTPS port
labels:
- traefik.enable=true
- traefik.frontend.rule=Host:mail.prekre.com
- traefik.port=8080
- traefik.docker.network=prometheus
expose:
- "8090"
env_file:
- ./prekre.env
volumes:
- /var/run/docker.sock:/var/run/docker.sock #So that Traefik can listen to the Docker events
- ./traefik2.toml:/traefik.toml
- ./acme.json:/acme.json
restart: always
sub1.yaml
:
version: '3'
networks:
onlykoreainternal:
driver: bridge
external: false
internal: true
prometheus:
external:
name: dockerprometheus_back-tier
sub2.yaml
version: '3'
networks:
mail_network:
driver: bridge
external: false
internal: true
prometheus:
external:
name: dockerprometheus_back-tier
services:
mailserver:
image: hardware/mailserver:${MAILSERVER_DOCKER_TAG}
container_name: mailserver
restart: ${RESTART_MODE}
domainname: ${MAILSERVER_DOMAIN} # Mail server A/MX/FQDN & reverse PTR = mail.domain.tld.
hostname: ${MAILSERVER_HOSTNAME}
labels:
- traefik.enable=true
- traefik.frontend.rule=Host:spam.${MAILSERVER_DOMAIN}
- traefik.port=80
- traefik.docker.network=prometheus
services:
mailserver:
image: hardware/mailserver:${MAILSERVER_DOCKER_TAG}
container_name: mailserver
restart: ${RESTART_MODE}
domainname: ${MAILSERVER_DOMAIN} # Mail server A/MX/FQDN & reverse PTR = mail.domain.tld.
hostname: ${MAILSERVER_HOSTNAME}
labels:
- traefik.enable=true
- traefik.frontend.rule=Host:spam.${MAILSERVER_DOMAIN}
- traefik.port=80
- traefik.docker.network=prometheus
# extra_hosts: - Required for external database (on other server or for local databases on host without docker)
# - "mailmariadb:xx.xx.xx.xx" - Replace with IP address of MariaDB server
# - "redis:xx.xx.xx.xx" - Replace with IP address of Redis server
ports:
- "25:25" # SMTP - Required
# - "110:110" # POP3 STARTTLS - Optional - For webmails/desktop clients
- "143:143" # IMAP STARTTLS - Optional - For webmails/desktop clients
# - "465:465" # SMTPS SSL/TLS - Optional - Enabled for compatibility reason, otherwise disabled
- "587:587" # Submission STARTTLS - Optional - For webmails/desktop clients
- "993:993" # IMAPS SSL/TLS - Optional - For webmails/desktop clients
# - "995:995" # POP3S SSL/TLS - Optional - For webmails/desktop clients
- "4190:4190" # SIEVE STARTTLS - Optional - Recommended for mail filtering
env_file:
- mail.env
environment:
- DBPASS=${DATABASE_USER_PASSWORD} # MariaDB database password (required)
- RSPAMD_PASSWORD=${RSPAMD_PASSWORD} # Rspamd WebUI password (required)
@
То же объявление в traefik.tom для sub1 и sub2 для DNS.Есть ли у вас какие-либо идеи по поводу ошибки?
Изменить сеть внутри контейнера (1 частный и 1 хост для каждого внешнего интерфейса, только 1 частный / внутренний для баз данных).Проверка логов (ничего не интересует)