Our discourse Images are not lightboxed

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, и я сталкиваюсь с той же проблемой.
Опция «создать миниатюры» активна, но лайтбокс не открывается, независимо от размера изображения.

У меня есть второй экземпляр Discourse, который работает уже несколько месяцев. Там лайтбокс работает в старых постах, но не в новых.
Возможно, это проблема, связанная с обновлением?

Если я загружаю то же изображение на try.discourse.org, то там лайтбокс работает корректно.

Привет и добро пожаловать в Meta, @Michael_Uray :wave:

Это говорит о том, что где-то в вашей настройке есть проблема. Пожалуйста, проверьте консоль браузера на наличие ошибок или предоставьте ссылку на сайт, с которым у вас возникли трудности.

Я только что создал там тестовую тему на новом экземпляре Discourse, который я настроил на прошлой неделе.
Изображение имеет размер 1920x1050, но не открывается в лайтбоксе.
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

При второй установке, на которой лайтбокс ранее работал, путь изначально был “/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% от общего объёма памяти.
  ## будет установлено автоматически при загрузке на основе обнаруженной оперативной памяти, либо вы можете переопределить
  db_shared_buffers: "4096MB"

  ## может улучшить производительность сортировки, но увеличивает использование памяти на соединение
  #db_work_mem: "40MB"

  ## Какую ревизию Git должен использовать этот контейнер? (по умолчанию: tests-passed)
  #version: tests-passed

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

  ## Сколько одновременных веб-запросов поддерживается? Зависит от памяти и количества ядер CPU.
  ## будет установлено автоматически при загрузке на основе обнаруженных процессоров, либо вы можете переопределить
  UNICORN_WORKERS: 8

  ## TODO: Доменное имя, на которое будет реагировать этот экземпляр Discourse
  ## Обязательно. Discourse не будет работать с чистым IP-адресом.
  DISCOURSE_HOSTNAME: dis.ctb.co.at

  ## Раскомментируйте, если хотите, чтобы контейнер запускался с тем же
  ## именем хоста (опция -h), что указано выше (по умолчанию "$hostname-$config")
  #DOCKER_USE_HOSTNAME: true

  ## TODO: Список email-адресов через запятую, которые станут администраторами и разработчиками
  ## при первой регистрации, например '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 "Начало пользовательских команд"
  ## Если вы хотите установить адрес электронной почты «От» для вашей первой регистрации, раскомментируйте и измените:
  ## После получения первого письма о регистрации закомментируйте строку обратно. Выполнять нужно только один раз.
  #- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"
  - exec: echo "Конец пользовательских команд"

  - 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 может вызывать проблемы с лайтбоксом?

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

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

Интересно, что он всё ещё создаёт некоторые файлы и папки в /var/discourse, даже если я не указывал тома для этой директории.

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» позже.
Что ещё можно проверить?

В файле журнала отображается ошибка, указывающая на невозможность доступа к /uploads/....

Не удалось получить доступ к '/uploads/default/original/1X/fe2af548af4a22f4802ddaa54afa557ae557417c.png' для получения его размеров.

Я могу открыть изображение без проблем, если введу URL в веб-браузер:
https://domain.com/uploads/default/original/1X/fe2af548af4a22f4802ddaa54afa557ae557417c.png

Завершено 200 OK за 23 мс (Views: 0.3 мс | ActiveRecord: 0.0 мс | Выделения памяти: 3000)
Завершено 200 OK за 318 мс (Views: 1.2 мс | ActiveRecord: 0.0 мс | Выделения памяти: 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.3 мс | ActiveRecord: 0.0 мс | Выделения памяти: 3050)
Завершено 200 OK за 296 мс (Views: 0.5 мс | ActiveRecord: 0.0 мс | Выделения памяти: 49562)
Запущен запрос GET "/posts/97" для 84.115.50.36 в 2020-07-04 14:17:43 +0000
Обработка контроллером PostsController#show в формате JSON
  Параметры: {"id"=>"97"}

Мне кажется, что Discourse по какой-то причине снова загружает изображение с веб-сервера для выполнения каких-то действий с лайтбоксом.
Если я вручную загружаю это изображение внутри контейнера Docker с Discourse, то система пытается получить к нему доступ напрямую через внутренний IP-адрес веб-сервера, а не через прокси. Это работает через HTTP, но не через HTTPS.

На самом веб-сервере доступен только HTTP, но система пытается получить к нему доступ через HTTPS, что приводит к ошибке.

Меня удивляет, почему Discourse снова загружает изображение с веб-сервера вместо того, чтобы обращаться к нему внутренне без использования HTTP/HTTPS.

Редактирование: Я обнаружил, что переименовал файл app.yml в domain.name.yml, из-за чего Docker изменил DNS-имя domain.name на его внутренний IP-адрес. Я переименовал его в domain_name.yml, и теперь всё работает корректно.

Если двойные точки в YAML вызывают это, то, похоже, это должно вызывать предупреждение в лаунчере?