Вложения обслуживаются локально на сервере, но не публично

Нет, я не следовал этому руководству. Но, глядя на него, я вижу, что был пропущен только один шаг:

  1. Старый домен отображается в списке разрешённых iframe вместе с новым доменом в настройках.
  2. Переотображение домена в постах, что я всё равно планировал сделать позже, включая повторную обработку (rebake) после решения этой проблемы. Затронутый пост был повторно обработан, и в URL изображения больше нет старого домена.

Эти два момента имеют значение?

Даже изображение темы выдаёт ошибку 404.

Я вижу, что логи nginx переполнены ошибками «permission denied» для изображений.

Кроме того, я вижу это, но не могу исправить права доступа. Возможно, я ошибся на каком-то шаге, например, запускал setup от имени неправильного пользователя.

root@ip-172-26-0-app:/var/www/discourse# ls -ld /shared/uploads/default/optimized/3X
drwx---r-x 18 discourse www-data 4096 Jun 29 17:52 /shared/uploads/default/optimized/3X
root@ip-172-26-0-app:/var/www/discourse# ls -ld /shared/uploads/default/optimized
drwx---r-x 5 discourse www-data 4096 Jun 29 17:52 /shared/uploads/default/optimized

Редактирование:
Исправил, изменив права доступа к директории и владельца.