غير متاح خلف Traefik Proxy

لقد قرأت العديد من المشاركات حول تشغيل Discourse خلف وكيل Traefik، ولكن للأسف يبدو أنني ما زلت أفتقد شيئًا ما.

من المضيف إذا قمت بتجربة curl للعنوان IP الداخلي للحاوية، يمكنني رؤية معالج إعداد Discourse HTML الذي تم إرجاعه، ويبلغ 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 المُعدة بشكل مشابه على مضيفين مختلفين وهي تعمل جميعها.

في سجلات وصول Discourse nginx، يمكنني رؤية الطلب عند استخدام curl للعنوان IP المحلي، ولكن ليس عند استخدام curl للنطاق.

أي اقتراحات حول ما هو مفقود؟ يبدو أنه يضيع في مكان ما بين Traefik و nginx.

لقد وجدت المشكلة. كان Traefik و Discourse على شبكتي دوكر مختلفتين. إضافة علامة دوكر لوضعها على نفس الشبكة حل المشكلة.

إعجابَين (2)

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.