صور نقاشنا لا تظهر في نافذة منبثقة

Could someone help me to get the image lightboxing working.

I uploaded a image. image resolution is 1772 x 2362.

But Images are without thumbnails and without lightboxes.

I checked create thumbnails option.

Settings part: File > create thumbnails


My Discourse is on private network. But we opened the firewall to connect from the outside.
Version is v2.0.0.beta5+12.

image

What is the problem?

Possibly related:

Thank you for your reply.

I updated today to latest revision and already up to date.

and I tried safe mode.

but lightbox is not appearing no matter how I get the picture/image into the Post.

What shoud I do??

No problem. I wish I could help you more, but unfortunately, I do not have enough knowledge on the subject. Hopefully someone that knows more will respond soon. I would also watch the topic that I linked to. It might eventually have a solution posted.

In the mean time, you might want to take a look at your logs and see if there are similarities to the logs posted in that topic. I’m pretty sure the logs you would be interested in can be found by adding /logs to your forum’s base URL. So it would look something like https://example.com/logs The user in that topic also mentions a proxy. Are you using a proxy?

If you can provide this type of information, it should be helpful to someone that reads this topic and has a better understanding on the subject.

I wish you luck in solving the problem!

thank you tshenry.

our discourse is not using proxy and https.

I still do not know the cause of the problem. :cold_sweat:

Thank you. ^^

First thing first. If possible, upload that image to meta here. See if it works.

If it doesn’t work in meta, then it is much easier for the team to fix as there is their repo right here.

If it works in meta but not on your site, then there must be a setting conflict somewhere.

I can see that the image in your original post successfully lightboxes.

We’d prefer if you could upload to try first (try.discourse.org), that way we don’t start getting image uploads all over the place. If the image fails to lightbox on try, then feel free to upload it here so the example doesn’t get deleted when try is reset each day. If the image lightboxes on try then the issue is specific to your configuration as @schungx stated.

أنا أستخدم الإصدار 2.5.0.beta6 وأواجه نفس المشكلة.
خيار “إنشاء صور مصغرة” مفعل، لكنه لا ينشئ نافذة منبثقة للصور (lightbox)، بغض النظر عن حجم الصورة.

لدي نسخة أخرى من Discourse قديمة منذ بضعة أشهر، وهناك تعمل نافذة الـ lightbox في المنشورات القديمة، لكنها لا تعمل في المنشورات الجديدة.
ربما تكون هذه مشكلة مرتبطة بحدث تحديث؟

إذا قمت برفع نفس الصورة إلى try.discourse.org، فإنها تعمل بشكل صحيح هناك مع نافذة الـ lightbox.

مرحبًا، وأهلاً بك في ميتا @Michael_Uray :wave:

هذا يشير إلى وجود مشكلة في إعداداتك في مكان ما. هل يمكنك التحقق من وحدة تحكم المتصفح (browser console) بحثًا عن أخطاء، أو مشاركة رابط الموقع الذي تواجه فيه مشكلة؟

لقد أنشأت للتو موضوع اختبار هناك على نسخة جديدة من discourse قمت بإعدادها الأسبوع الماضي.
الصورة بحجم 1920x1050، لكنها لا تفتح في نافذة منبثقة (lightbox).
https://dis.ctb.co.at/t/test-image-lightbox/44

شكرًا على الرابط يا مايكل :+1:

لا أرى أي أخطاء في JavaScript في تلك الصفحة. هل يمكنك التحقق مما إذا كانت هناك أي مشكلات في Sidekiq؟

your.site.com/sidekiq

على وجه التحديد، هذه التبويبات

أيضًا، هل يمكنك التأكيد على أنك اتبعت الدليل الرسمي عند إعداد موقعك؟

لا توجد مشاكل حتى الآن كما أستطيع أن أرى.
2020-06-07_16-07-18_Sidekiq_-_Mozilla_Firefox

في الواقع، لقد اتبعت هذا الدليل، لكنني غيّرت المسار وعدّلت هذه التغييرات في ملف app.yml.

volumes:
  - volume:
      host: /var/docker/dis.ctb.co.at/shared/standalone
      guest: /shared
  - volume:
      host: /var/docker/dis.ctb.co.at/shared/standalone/log/var-log
      guest: /var/log

في التثبيت الثاني الذي كان يعمل فيه صندوق الضوء (lightbox) سابقًا، كان المسار في البداية “”/var/docker"" ثم قمت بتغييره إلى موقع آخر.
قد يكون مشكلة صندوق الضوء قد بدأت عند تغيير المسار. - لست متأكدًا من ذلك.

هل فاتني أي إعداد للمسار الجديد؟
السطور المذكورة أعلاه كانت هي السطور الوحيدة التي وجدت أنها تشير إلى الدليل الأصلي “”/var/docker"".

لقد جربت للتو إعادته إلى “/var/discourse” للتأكد من أن تغيير المسار هو ما تسبب في المشكلة، لكن المشكلة نفسها تظهر هناك مع المسار الأصلي.

يعمل النظام أيضًا خلف وكيل عكسي nginx يقوم بتشفير SSL إذا كان هذا مهمًا، لكنني لم أقم بأي تغييرات في الإعدادات هناك منذ توقف العمل في التثبيت الآخر.

لقد قمت بهذه الإعدادات لـ nginx في ملف .yml المقابل.

- replace:
      filename: /etc/nginx/conf.d/discourse.conf
      from: "types {"
      to: |
        set_real_ip_from 172.18.0.0/16;
        real_ip_header X-Forwarded-For;
        real_ip_recursive on;
        types {

إذا لم يكن المسار هو السبب، فماذا يمكن أن يتسبب في هذه المشكلة المتعلقة بمربع الحوار المنبثق؟

لقد أعيدت تحريكه إلى “/var/docker/dis.ctb.co.at”.
هذا هو تكوين yml الحالي (تم تغيير البيانات الشخصية فقط). هل يمكن أن يكون هناك خطأ هناك، أم أن هذه مشكلة في Discourse؟

## هذا هو قالب حاوية Docker المستقلة الشاملة لـ Discourse
##
## بعد إجراء تغييرات على هذا الملف، يجب عليك إعادة البناء
## /var/discourse/launcher rebuild app
##
## كن *حذرًا جدًا* عند التعديل!
## ملفات YAML حساسة للغاية للأخطاء في المسافات البادئة أو المحاذاة!
## قم بزيارة http://www.yamllint.com/ للتحقق من صحة هذا الملف حسب الحاجة

templates:
  - "templates/postgres.template.yml"
  - "templates/redis.template.yml"
  - "templates/web.template.yml"
  - "templates/web.ratelimited.template.yml"
## قم بإلغاء التعليق عن هذين السطرين إذا كنت ترغب في إضافة Lets Encrypt (https)
#  - "templates/web.ssl.template.yml"
#  - "templates/web.letsencrypt.ssl.template.yml"

## ما هي منافذ TCP/IP التي يجب أن تعرضها هذه الحاوية؟
## إذا كنت تريد لـ Discourse مشاركة منفذ مع خادم ويب آخر مثل Apache أو nginx،
## راجع https://meta.discourse.org/t/17247 للحصول على التفاصيل
expose:
        #  - "80:80"   # http
        #  - "443:443" # https
  - "127.0.0.1:3041:80"

docker_args:
  - "--network=nginx-br"

params:
  db_default_text_search_config: "pg_catalog.english"

  ## قم بتعيين db_shared_buffers إلى أقصى 25% من إجمالي الذاكرة.
  ## سيتم تعيينها تلقائيًا بواسطة bootstrap بناءً على ذاكرة الوصول العشوائي المكتشفة، أو يمكنك تجاوزها
  db_shared_buffers: "4096MB"

  ## يمكن أن يحسن أداء الفرز، لكنه يزيد من استخدام الذاكرة لكل اتصال
  #db_work_mem: "40MB"

  ## أي إصدار Git يجب أن تستخدم هذه الحاوية؟ (الافتراضي: tests-passed)
  #version: tests-passed

env:
  LANG: en_US.UTF-8
  # DISCOURSE_DEFAULT_LOCALE: en

  ## كم عدد طلبات الويب المتزامنة المدعومة؟ يعتمد على الذاكرة وأنوية المعالج.
  ## سيتم تعيينها تلقائيًا بواسطة bootstrap بناءً على المعالجات المكتشفة، أو يمكنك تجاوزها
  UNICORN_WORKERS: 8

  ## TODO: اسم النطاق الذي ستستجيب له هذه النسخة من Discourse
  ## مطلوب. لن يعمل Discourse مع عنوان IP عاري.
  DISCOURSE_HOSTNAME: dis.ctb.co.at

  ## قم بإلغاء التعليق إذا كنت تريد بدء الحاوية بنفس اسم المضيف (-h option) المحدد أعلاه (الافتراضي "$hostname-$config")
  #DOCKER_USE_HOSTNAME: true

  ## TODO: قائمة عناوين البريد الإلكتروني المفصولة بفواصل سيتم تعيينها كمسؤول ومطور
  ## عند التسجيل الأولي مثال 'user1@example.com,user2@example.com'
  DISCOURSE_DEVELOPER_EMAILS: 'nothing@nothing.com'

  ## TODO: خادم البريد SMTP المستخدم للتحقق من الحسابات الجديدة وإرسال الإشعارات
  ## مطلوب عنوان SMTP واسم المستخدم وكلمة المرور
  ## تحذير: قد يتسبب حرف '#' في كلمة مرور SMTP في حدوث مشاكل!
  DISCOURSE_SMTP_ADDRESS: mailserver.nothing.com
  DISCOURSE_SMTP_PORT: 25
  DISCOURSE_SMTP_USER_NAME: nothing@nothing.com
  DISCOURSE_SMTP_PASSWORD: "secret"
  DISCOURSE_SMTP_ENABLE_START_TLS: false           # (اختياري، الافتراضي true)
  DISCOURSE_SMTP_OPENSSL_VERIFY_MODE: none

  ## إذا قمت بإضافة قالب Lets Encrypt، قم بإلغاء التعليق أدناه للحصول على شهادة SSL مجانية
  #  LETSENCRYPT_ACCOUNT_EMAIL: me@example.com

  ## عنوان CDN http أو https لهذه النسخة من Discourse (مُهيأ للسحب)
  ## راجع https://meta.discourse.org/t/14857 للحصول على التفاصيل
  #DISCOURSE_CDN_URL: https://discourse-cdn.example.com

  VIRTUAL_HOST: dis.ctb.co.at
  VIRTUAL_PORT: 9002
  LETSENCRYPT_HOST: dis.ctb.co.at
  LETSENCRYPT_EMAIL: nothing@nothing.com

 

## حاوية Docker عديمة الحالة؛ يتم تخزين جميع البيانات في /shared
volumes:
  - volume:
      host: /var/docker/dis.ctb.co.at/shared/standalone
      guest: /shared
  - volume:
      host: /var/docker/dis.ctb.co.at/shared/standalone/log/var-log
      guest: /var/log

## تذهب الإضافات هنا
## راجع https://meta.discourse.org/t/19157 للحصول على التفاصيل
hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/discourse/docker_manager.git

## أي أوامر مخصصة للتشغيل بعد البناء
run:
  - exec: echo "Beginning of custom commands"
  ## إذا كنت تريد تعيين عنوان البريد الإلكتروني 'من' للتسجيل الأول، قم بإلغاء التعليق وتغيير:
  ## بعد الحصول على أول بريد إلكتروني للتسجيل، قم بإعادة التعليق على السطر. يجب تشغيله مرة واحدة فقط.
  #- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"
  - exec: echo "End of custom commands"

  - replace:
      filename: /etc/nginx/conf.d/discourse.conf
      from: "types {"
      to: |
        set_real_ip_from 172.18.0.0/16;
        real_ip_header X-Forwarded-For;
        real_ip_recursive on;
        types {

لقد اكتشفت الآن أن هذه المشكلة تحدث فقط إذا كانت إعدادية “فرض استخدام HTTPS فقط لموقعك” مفعلة عند إنشاء المنشور الذي يحتوي على الصورة.
كانت هذه الإعدادية مفعلة في التثبيت الآخر منذ البداية، لكنها توقفت فجأة عن العمل، ربما بسبب تحديث لـ nginx أو Discourse.

لا يظهر nginx أي سلوك غريب حتى الآن كما أستطيع أن أرى.

nginx          | nginx.1    | dis.ctb.co.at 84.115.50.36 - - [14/Jun/2020:16:09:52 +0200] "POST /message-bus/d333cb718e2d49b9947ec22c0762e47d/poll HTTP/2.0" 200 2 "https://dis.ctb.co.at/t/test-image-lightbox/44/7" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:77.0) Gecko/20100101 Firefox/77.0"
nginx          | nginx.1    | dis.ctb.co.at 84.115.50.36 - - [14/Jun/2020:16:09:58 +0200] "POST /presence/publish HTTP/2.0" 200 36 "https://dis.ctb.co.at/t/test-image-lightbox/44/6" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:77.0) Gecko/20100101 Firefox/77.0"
nginx          | nginx.1    | dis.ctb.co.at 84.115.50.36 - - [14/Jun/2020:16:09:58 +0200] "POST /message-bus/d333cb718e2d49b9947ec22c0762e47d/poll HTTP/2.0" 200 253 "https://dis.ctb.co.at/t/test-image-lightbox/44/6" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:77.0) Gecko/20100101 Firefox/77.0"
nginx          | nginx.1    | dis.ctb.co.at 84.115.50.36 - - [14/Jun/2020:16:09:58 +0200] "POST /uploads.json?client_id=d333cb718e2d49b9947ec22c0762e47d HTTP/2.0" 200 431 "https://dis.ctb.co.at/t/test-image-lightbox/44/6" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:77.0) Gecko/20100101 Firefox/77.0"
nginx          | nginx.1    | dis.ctb.co.at 84.115.50.36 - - [14/Jun/2020:16:10:00 +0200] "POST /draft.json HTTP/2.0" 200 56 "https://dis.ctb.co.at/t/test-image-lightbox/44/6" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:77.0) Gecko/20100101 Firefox/77.0"
nginx          | nginx.1    | dis.ctb.co.at 84.115.50.36 - - [14/Jun/2020:16:10:08 +0200] "POST /message-bus/d333cb718e2d49b9947ec22c0762e47d/poll HTTP/2.0" 200 253 "https://dis.ctb.co.at/t/test-image-lightbox/44/6" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:77.0) Gecko/20100101 Firefox/77.0"
nginx          | nginx.1    | dis.ctb.co.at 84.115.50.36 - - [14/Jun/2020:16:10:08 +0200] "POST /presence/publish HTTP/2.0" 200 36 "https://dis.ctb.co.at/t/test-image-lightbox/44/6" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:77.0) Gecko/20100101 Firefox/77.0"
nginx          | nginx.1    | dis.ctb.co.at 84.115.50.36 - - [14/Jun/2020:16:10:16 +0200] "POST /draft.json HTTP/2.0" 200 56 "https://dis.ctb.co.at/t/test-image-lightbox/44/6" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:77.0) Gecko/20100101 Firefox/77.0"
nginx          | nginx.1    | dis.ctb.co.at 84.115.50.36 - - [14/Jun/2020:16:10:18 +0200] "POST /draft.json HTTP/2.0" 200 56 "https://dis.ctb.co.at/t/test-image-lightbox/44/6" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:77.0) Gecko/20100101 Firefox/77.0"
nginx          | nginx.1    | dis.ctb.co.at 84.115.50.36 - - [14/Jun/2020:16:10:19 +0200] "POST /message-bus/d333cb718e2d49b9947ec22c0762e47d/poll HTTP/2.0" 200 251 "https://dis.ctb.co.at/t/test-image-lightbox/44/6" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:77.0) Gecko/20100101 Firefox/77.0"
nginx          | nginx.1    | dis.ctb.co.at 84.115.50.36 - - [14/Jun/2020:16:10:19 +0200] "POST /presence/publish HTTP/2.0" 200 36 "https://dis.ctb.co.at/t/test-image-lightbox/44/6" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:77.0) Gecko/20100101 Firefox/77.0"
nginx          | nginx.1    | dis.ctb.co.at 84.115.50.36 - - [14/Jun/2020:16:10:19 +0200] "POST /message-bus/d333cb718e2d49b9947ec22c0762e47d/poll HTTP/2.0" 200 194 "https://dis.ctb.co.at/t/test-image-lightbox/44/6" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:77.0) Gecko/20100101 Firefox/77.0"
nginx          | nginx.1    | dis.ctb.co.at 84.115.50.36 - - [14/Jun/2020:16:10:19 +0200] "POST /posts HTTP/2.0" 200 733 "https://dis.ctb.co.at/t/test-image-lightbox/44/6" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:77.0) Gecko/20100101 Firefox/77.0"
nginx          | nginx.1    | dis.ctb.co.at 84.115.50.36 - - [14/Jun/2020:16:10:21 +0200] "POST /message-bus/2027eab545f744e3a8dff7e81e4748d4/poll?dlp=t HTTP/2.0" 200 258 "https://dis.ctb.co.at/admin/site_settings/category/security?filter=" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:77.0) Gecko/20100101 Firefox/77.0"
nginx          | nginx.1    | dis.ctb.co.at 84.115.50.36 - - [14/Jun/2020:16:10:22 +0200] "POST /message-bus/d333cb718e2d49b9947ec22c0762e47d/poll HTTP/2.0" 200 336 "https://dis.ctb.co.at/t/test-image-lightbox/44/7" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:77.0) Gecko/20100101 Firefox/77.0"
nginx          | nginx.1    | dis.ctb.co.at 84.115.50.36 - - [14/Jun/2020:16:10:22 +0200] "GET /posts/82 HTTP/2.0" 200 749 "https://dis.ctb.co.at/t/test-image-lightbox/44/7" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:77.0) Gecko/20100101 Firefox/77.0"
nginx          | nginx.1    | dis.ctb.co.at 84.115.50.36 - - [14/Jun/2020:16:10:22 +0200] "GET /about/live_post_counts.json HTTP/2.0" 200 52 "https://dis.ctb.co.at/t/test-image-lightbox/44/7" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:77.0) Gecko/20100101 Firefox/77.0"
nginx          | nginx.1    | dis.ctb.co.at 84.115.50.36 - - [14/Jun/2020:16:10:24 +0200] "POST /message-bus/2027eab545f744e3a8dff7e81e4748d4/poll?dlp=t HTTP/2.0" 200 33 "https://dis.ctb.co.at/admin/site_settings/category/security?filter=" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:77.0) Gecko/20100101 Firefox/77.0"
nginx          | nginx.1    | dis.ctb.co.at 84.115.50.36 - - [14/Jun/2020:16:10:27 +0200] "POST /topics/timings HTTP/2.0" 200 0 "https://dis.ctb.co.at/t/test-image-lightbox/44/7" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:77.0) Gecko/20100101 Firefox/77.0"
nnginx          | nginx.1    | dis.ctb.co.at 84.115.50.36 - - [14/Jun/2020:16:10:47 +0200] "POST /message-bus/d333cb718e2d49b9947ec22c0762e47d/poll HTTP/2.0" 200 2 "https://dis.ctb.co.at/t/test-image-lightbox/44/7" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:77.0) Gecko/20100101 Firefox/77.0"
nginx          | nginx.1    | dis.ctb.co.at 84.115.50.36 - - [14/Jun/2020:16:10:47 +0200] "POST /message-bus/d333cb718e2d49b9947ec22c0762e47d/poll HTTP/2.0" 200 104 "https://dis.ctb.co.at/t/test-image-lightbox/44/7" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:77.0) Gecko/20100101 Firefox/77.0"

بالمناسبة، كلمة nnginx ليست خطأ مطبعي في هذا السجل، بل ظهرت بهذا الشكل فعليًا لسبب ما.

هل لديك أي فكرة عن سبب احتمال تسبب إعدادية “فرض استخدام HTTPS فقط لموقعك” في أي مشاكل في نافذة العرض المنبثقة للصورة (lightbox)؟

عادةً ما يكون ذلك ناتجًا عن سوء تكوين مخططات وكيل عكسي معقدة في تجربتي. يضيف المجلد الفرعي تعقيدًا إضافيًا (وبالتالي متغيرات) أيضًا.

حسنًا، ما الذي قد يكون خاطئًا في إعدادات وكيل nginx الخاصة بي؟

version: '3'

services:

  nginx:
    image: jwilder/nginx-proxy:alpine
    labels:
      - "com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy=true"
    container_name: nginx
    networks:
      - nginx_nw
    ports:
      - 80:80
      - 443:443
    volumes:
      - ./data/conf.d:/etc/nginx/conf.d:rw
      - ./data/vhost.d:/etc/nginx/vhost.d:rw
      - ./data/html:/usr/share/nginx/html:rw
      - ./data/certs:/etc/nginx/certs:ro
      - /etc/localtime:/etc/localtime:ro
      - /var/run/docker.sock:/tmp/docker.sock:ro
    restart: unless-stopped

  letsencrypt:
    image: jrcs/letsencrypt-nginx-proxy-companion
    container_name: letsencrypt
    depends_on:
      - nginx
    networks:
      - nginx_nw
    volumes:
      - ./data/certs:/etc/nginx/certs:rw
      - ./data/vhost.d:/etc/nginx/vhost.d:rw
      - ./data/html:/usr/share/nginx/html:rw
      - /etc/localtime:/etc/localtime:ro
      - /var/run/docker.sock:/var/run/docker.sock:ro
    restart: unless-stopped

networks:
    nginx_nw:
        external:
            name: nginx-br

أقوم بتشغيل نسختين منفصلتين من Discourse عبر وكيل nginx هذا، بالإضافة إلى مثيل Nextcloud. في أول تثبيت لـ Discourse، كان عمل النافذة المنبثقة (lightbox) يعمل من قبل ثم توقف فجأة. في الواقع، لم أقم بأي تغييرات على إعدادات الوكيل منذ أن كان يعمل.

من المثير للاهتمام أنه لا يزال ينشئ بعض الملفات والمجلدات في /var/discourse، حتى لو قمت بإعداد وحدات التخزين (volumes) لتكون مختلفة عن هذا المجلد.

volumes:
  - volume:
      host: /var/docker/dis.ctb.co.at/shared/standalone
      guest: /shared
  - volume:
      host: /var/docker/dis.ctb.co.at/shared/standalone/log/var-log
      guest: /var/log

لذا، أعتقد أن هناك مشكلة ما في مكان المجلد.

root@dk1:/var/discourse# tree -d
.
└── shared
    └── standalone
        ├── backups
        ├── log
        │   ├── rails
        │   └── var-log
        │       ├── nginx
        │       ├── postgres
        │       └── redis
        ├── postgres_backup
        ├── postgres_data
        │   ├── base
        │   │   ├── 1
        │   │   ├── 14049
        │   │   ├── 14050
        │   │   └── 16384
        │   ├── global
        │   ├── pg_commit_ts
        │   ├── pg_dynshmem
        │   ├── pg_logical
        │   │   ├── mappings
        │   │   └── snapshots
        │   ├── pg_multixact
        │   │   ├── members
        │   │   └── offsets
        │   ├── pg_notify
        │   ├── pg_replslot
        │   ├── pg_serial
        │   ├── pg_snapshots
        │   ├── pg_stat
        │   ├── pg_stat_tmp
        │   ├── pg_subtrans
        │   ├── pg_tblspc
        │   ├── pg_twophase
        │   ├── pg_wal
        │   │   └── archive_status
        │   └── pg_xact
        ├── postgres_run
        │   └── 12-main.pg_stat_tmp
        ├── redis_data
        ├── state
        │   ├── anacron-spool
        │   └── logrotate
        ├── tmp
        │   ├── backups
        │   └── restores
        └── uploads
            └── default
                ├── optimized
                │   └── 1X
                └── original
                    └── 1X

52 directories

هل ربما فاتني إعداد ما لموقع المجلد الجديد؟

لم يحدث أبدًا أن تم إنشاء ملفات في /var/discourse، ربما رأيت بعض الملفات القديمة.

لقد قمت الآن بالتغيير من nginx إلى traefik للتأكد من أن المشكلة ليست من nginx، لكن المشكلة لا تزال قائمة. وهذا يعني لي أن هناك مشكلة على جانب Discourse وليس على جانب الوكيل.

نفس الوضع مع traefik، إذا تم تعطيل “فرض https” عند نشر الصورة، فإن صندوق العرض الخفيف يعمل بشكل جيد، حتى لو قمت بتفعيل “فرض https” لاحقًا.
ما الذي يمكنني التحقق منه بعد ذلك؟

يظهر لي خطأ في ملف السجل (log file) مفاده أنه لا يمكنه الوصول إلى /uploads/....

لا يمكن الوصول إلى '/uploads/default/original/1X/fe2af548af4a22f4802ddaa54afa557ae557417c.png' للحصول على أبعادها.

يمكنني الوصول إلى الصورة دون مشاكل إذا أدخلت الرابط في متصفح ويب:
https://domain.com/uploads/default/original/1X/fe2af548af4a22f4802ddaa54afa557ae557417c.png

تم الإنجاز بنجاح 200 OK خلال 23 مللي ثانية (Views: 0.3ms | ActiveRecord: 0.0ms | Allocations: 3000)
تم الإنجاز بنجاح 200 OK خلال 318 مللي ثانية (Views: 1.2ms | ActiveRecord: 0.0ms | Allocations: 50347)
لا يمكن الوصول إلى '/uploads/default/original/1X/fe2af548af4a22f4802ddaa54afa557ae557417c.png' للحصول على أبعادها.
بدأت عملية GET "/posts/96" من عنوان 84.115.50.36 في 2020-07-04 14:15:14 +0000
معالجة بواسطة PostsController#show بصيغة JSON
  المعاملات: {"id"=>"96"}

لا يظهر لي أي خطأ عند عدم فرض استخدام HTTPS.

تم الإنجاز بنجاح 200 OK خلال 18 مللي ثانية (Views: 0.3ms | ActiveRecord: 0.0ms | Allocations: 3050)
تم الإنجاز بنجاح 200 OK خلال 296 مللي ثانية (Views: 0.5ms | ActiveRecord: 0.0ms | Allocations: 49562)
بدأت عملية GET "/posts/97" من عنوان 84.115.50.36 في 2020-07-04 14:17:43 +0000
معالجة بواسطة PostsController#show بصيغة JSON
  المعاملات: {"id"=>"97"}

يبدو لي أن Discourse يقوم بتحميل الصورة مرة أخرى من خادم الويب لسبب ما للقيام ببعض عمليات عرض الصور (lightbox).
إذا قمت بتحميل هذه الصورة يدويًا داخل حاوية Docker الخاصة بـ Discourse، فإنها تحاول الوصول إلى خادم الويب مباشرةً عبر عنوان IP الداخلي بدلاً من الوصول إليه عبر الوكيل (proxy). وهذا يعمل عبر HTTP، لكنه لا يعمل عبر HTTPS.

خادم الويب نفسه يدعم HTTP فقط، لكنه يحاول الوصول إليه عبر HTTPS مما يؤدي إلى الفشل.

أتساءل لماذا يقوم Discourse بتحميل الصورة مرة أخرى من خادم الويب بدلاً من الوصول إليها داخليًا دون استخدام HTTP/HTTPS.

تعديل: اكتشفت أنني قمت بإعادة تسمية ملف app.yml إلى domain.name.yml، مما تسبب في تغيير Docker لاسم النطاق (DNS name) الخاص بـ domain.name إلى عنوان IP الداخلي الخاص به. قمت بإعادة تسميته إلى domain_name.yml، وعمل كل شيء بشكل جيد الآن.

إذا كانت النقطتان في ملف YAML يسببان هذه المشكلة، فلا يبدو ذلك شيئًا يجب أن يُطلق تحذيرًا في برنامج التشغيل؟