Тайм-аут шлюза 504 или 502 - PullRequest
0 голосов
/ 24 марта 2019

Невозможно подключиться к внешним интерфейсам с 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 частный / внутренний для баз данных).Проверка логов (ничего не интересует)

...