Доступно через прокси Traefik

Я прочитал множество постов о запуске Discourse за прокси Traefik, но, к сожалению, похоже, что я всё ещё что-то упускаю.

С хоста, если я делаю запрос к внутреннему IP-адресу контейнера через curl, я вижу возвращаемый HTML-код мастера настройки Discourse, и Traefik сообщает, что сервис доступен:

Однако при попытке подключиться к домену, который проходит через Traefik, я вижу ожидаемый HTTPS-сертификат, но затем получаю ошибку 504 через несколько секунд.

Вот моя конфигурация Discourse:

templates:
  - "templates/postgres.template.yml"
  - "templates/redis.template.yml"
  - "templates/web.template.yml"
  - "templates/web.ratelimited.template.yml"

expose:
  #- "80:80"   # http
  #- "443:443" # https

params:
  db_default_text_search_config: "pg_catalog.english"

env:
  LC_ALL: en_US.UTF-8
  LANG: en_US.UTF-8
  LANGUAGE: en_US.UTF-8

  DISCOURSE_HOSTNAME: 'redacted'
  DISCOURSE_DEVELOPER_EMAILS: 'redacted'

  DISCOURSE_SMTP_ADDRESS: smtp.postmarkapp.com
  DISCOURSE_SMTP_USER_NAME: redacted
  DISCOURSE_SMTP_PASSWORD: redacted
  DISCOURSE_NOTIFICATION_EMAIL: noreply@redacted

## Контейнер Docker не имеет состояния; все данные хранятся в /shared
volumes:
  - volume:
      host: /opt/discourse/shared/standalone
      guest: /shared
  - volume:
      host: /opt/discourse/shared/standalone/log/var-log
      guest: /var/log

hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/discourse/docker_manager.git

docker_args:
  - "-l traefik.enable=true"
  - "-l traefik.http.routers.discourse.tls=true"
  - "-l traefik.http.routers.discourse.rule=Host(`redacted`)"
  - "-l traefik.http.routers.discourse.entrypoints=websecure"
  - "-l traefik.http.routers.discourse.tls.certresolver=ledns"
  - "-l traefik.http.services.discourse.loadbalancer.server.port=80"
  - "-l traefik.http.services.discourse.loadbalancer.server.scheme=http"

run:
  - exec: echo "Beginning of custom commands"
  - exec: echo "End of custom commands"

У меня есть много других сервисов в том же экземпляре Traefik, настроенных аналогично на разных хостах, и все они работают.

В логах доступа nginx Discourse я вижу запрос, когда делаю curl к локальному IP, но не вижу его, когда делаю curl к домену.

Есть ли какие-либо предложения о том, что упущено? Похоже, что запрос теряется где-то между Traefik и nginx.

Я нашел проблему. Traefik и Discourse находились в разных сетях Docker. Добавление флага Docker для размещения их в одной сети решило проблему.