При проверке инспектора браузера URL для markdown-it-bundle указывает на https:https://forum-beta-liiib-re.hot-objects.liiib.re/assets/markdown-it-bundle-9d939740bdeca330e5984bed41d12eab63736c1f720ab68e0c2a2d672c01adc2.br.js.
Префикс https: не должен добавляться к DISCOURSE_S3_CDN_URL, так как он уже там есть.
В консоли я вижу следующую ошибку:
Загрузка не удалась для <script> с источником "https://discourse.liiib.re/https://forum-beta-liiib-re.hot-objects.liiib.re/assets/markdown-it-bundle-9d939740bdeca330e5984bed41d12eab63736c1f720ab68e0c2a2d672c01adc2.br.js".
Полагаю, мой браузер перенаправляет URL https:https://... на этот адрес.
Я безуспешно пытался найти, где именно устанавливается этот URL.
Если кто-то сможет указать мне правильное направление
Я тоже так предположил, просто забыл упомянуть об этом.
Вообще, я не на 100% уверен, так как у меня нет полноценной среды разработки для тщательного тестирования всего, но похоже, что проблема не оттуда.
Насколько я видел, script_asset_path('markdown-it-bundle') возвращает правильный URL. И, думаю, он используется для формирования этого мета-тега HTML, который выглядит корректно:
Похоже, что именно JS добавляет неверный URL с префиксом https:. Хотя я так и не смог найти, откуда он берется.
Проблема возникает только при открытии редактора, когда появляется тег: <script src="https:https://forum-beta-liiib-re.hot-objects.liiib.re/assets/markdown-it-bundle-9d939740bdeca330e5984bed41d12eab63736c1f720ab68e0c2a2d672c01adc2.br.js"></script>.
Я не думаю, что это сработает, если URL CDN S3 является поддоменом конечной точки S3. Можете ли вы попробовать использовать разные поддомены одного уровня для обоих?
Я попробовал установить DISCOURSE_S3_CDN_URL как подпуть к бакету https://hot-objects.liiib.re/forum-beta-liiib-re, и теперь всё работает.
Как вы считаете, разумно ли разрешить использование S3 CDN в качестве поддомена конечной точки S3?
В моём случае, который может быть схож с другими настройками для самостоятельного размещения, я не использую внешний CDN (nginx поверх minio можно считать CDN), поэтому мне не нужно настраивать его на другом домене.
На самом деле я создал бакет на поддомене, потому что, как я понимаю, это требуется для управления загрузками в Discourse.
В любом случае, проблема решена, и у меня всё работает. Спасибо за помощь!