JustinBack
(Justin René Back)
10.Декабрь.2022 08:49:55
1
После обновления сегодня и включения опции S3_CDN_URL в envs загружается всё, кроме markdown-it-bundle.
https://tosdr.community/https://tosdr-community.s3.jrbit.de/assets/markdown-it-bundle-5a633717415fd164893a925e4cac1406ecab8179d15637506b08a147ab543433.br.js
Хотя файлы на сервере существуют и были загружены, Discourse всё ещё добавляет базовый URL в начало.
Все остальные файлы работают корректно.
Я проверил таблицу uploads, и все URL имеют правильный формат.
Есть ли другая таблица, в которую можно посмотреть, или простое решение этой проблемы?
Существует ли DbHelper вроде remap, но для поиска строки по всей базе данных?
Вы следовали руководству по настройке Discourse с S3? Похоже, что для его настройки нужно выполнить множество сложных шагов, согласно этой теме:
This topic covers how to configure some common S3 compatible Object Storage providers (S3 clones). See Set up file and image uploads to S3 for more details about Amazon AWS S3 configuration, which is officially supported and used internally by Discourse for our hosting services.
Provider
Service Name
Works with Discourse?
Amazon AWS
S3
Yes
Digital Ocean
Spaces
Yes
Linode
Object Storage
Yes
Google Cloud
Storage
Yes
Scaleway
Object Storage
Yes
Vultr
Obj…
Боюсь, это не моя сильная сторона, но я нашел тему с похожей проблемой, возможно, это поможет?
When configuring Object Store, preview for topics/posts are not working.
Discourse is configured with an Object Store
Install is on docker, following the doc.
Discourse version: 2.8.0.beta11
Here are my env variables for S3 configs:
DISCOURSE_CDN_URL: https://discourse.liiib.re
DISCOURSE_USE_S3: true
DISCOURSE_S3_REGION: default
DISCOURSE_S3_ENDPOINT: https://hot-objects.liiib.re
DISCOURSE_S3_ACCESS_KEY_ID: ACCESS_KEY_ID
DISCOURSE_S3_SECRET_ACCESS_KEY: SUPER_SECRET_KEY
DISCOU…
JustinBack
(Justin René Back)
12.Декабрь.2022 23:02:16
8
@crcoli7307 Да, это была именно та тема, которой я следовал
@JammyDodger
Спасибо за тему!
Я изменил S3_CDN_URL на:
DISCOURSE_S3_CDN_URL: https://s3.jrbit.de/tosdr-community
Но, к сожалению, это всё сломало, в частности, то, откуда загружаются стили.
Может ли это быть имя бакета, так как оно почти совпадает с доменом?
Имя бакета: tosdr-community
Домен: tosdr.community
Посмотрите, как формируются стили.
JustinBack
(Justin René Back)
13.Декабрь.2022 00:39:25
9
Только что переехали на новый бакет: дело не в названии бакета, проблема сохраняется
JustinBack
(Justin René Back)
13.Декабрь.2022 20:34:02
10
ОБНОВЛЕНИЕ: Я только что проверил, как встраивается и выполняется markdown-it-bundle, и запустил script_asset_path через консоль Rails (с небольшими изменениями из-за отсутствующей переменной request.env!)
Согласно script_asset_path, URL-адрес ресурса генерируется корректно. Всё ещё не понимаю, почему это происходит.
РЕДАКТИРОВАНИЕ:
Кажется, это известная ошибка
I’m also in this situation with an object store configured (minio) but no CDN. Is it a use case that could be supported ?
From what I’m seeing so far in my tests there is only the markdown-it-bundle js file that is having issues as its pointing to the wrong URL - DISCOURSE_HOSTNAME/DISCOURSE_S3_CDN_URL/assets/markdown-it-bundle-HASH.br.js
It actually looks lit a bug for this one, if I set DISCOURSE_CDN_URL variable, it still points to the wrong URL in this form DISCOURSE_HOSTNAME/DISCOURSE_CD…
РЕДАКТИРОВАНИЕ 2:
Я «исправил» это, используя самый грязный доступный обходной путь. Я прописал ресурс вручную в конфигурации nginx и настроил перенаправление:
location ~ markdown-it-bundle-dcd9743077867b3a68d7b723130cb2711dc4c843b018d7bc609f868289402fef.(.*).js {
return 302 https://tosdr-forum.s3.jrbit.de/assets/markdown-it-bundle-dcd9743077867b3a68d7b723130cb2711dc4c843b018d7bc609f868289402fef.$1.js;
}
Это сработало, пока ресурс не будет обновлён