Огромное спасибо. Я также обнаружил, что некоторые статические ресурсы (например, CSS) размещаются в /var/www/discourse/tmp/stylesheet-cache. Однако есть ещё две проблемы:
- Пользователи загружают ресурсы, такие как аватары, которые после настройки
DISCOURSE_CDN_URLтакже обслуживаются через CDN. Но выгружать загруженные ресурсы в GitHub каждый раз после загрузки пользователем кажется не самым лучшим решением. - Когда Discourse запрашивает аватар пользователя, например
2_2.png, он: 1) разбивает имя файла, 2) выполняет некоторые проверки, 3) вычисляет реальное имя файла с помощью хеширования. Если мне нужно обслуживать аватары пользователей, я должен реализовать эту же логику самостоятельно, поскольку файла с именем2_2.pngне существует.
Мое окончательное решение простое. 1) Я добавляю Nginx перед моим форумом, как в этом посте. 2) Собираю все статические ресурсы из указанного выше пути и выгружаю их в GitHub. 3) В конфигурационном файле Nginx добавляю правила, подобные следующим:
location ~/(stylesheets|assets) {
return 301 https://cdn.jsdelivr.net/gh/my_github/my_repo/$request_uri;
}
Ещё раз спасибо, @schleifer