Содержание

Подключение Gcore CDN для хранения статических файлов Gitea

В статье покажу, как использовать CDN от Gcore для кэширования статического контента приложения Gitea.

Ссылки для ознакомления c Gcore: CDN, Pricing.
Предположим, Gitea хостится на домене gitea.exmpl.com, а её статический контент мы хотим отдавать с поддомена static.gitea.exmpl.com. Для этого нужно создать CDN-ресурс в Gcore, у регистратора создать запись на CDN-поддомен и поднастроить Gitea. Также допустим, что Gitea работает по HTTPS и статический контент тоже будем отдавать по HTTPS.

  1. Идём в Gcore CDN resources -> Create CDN resource.
  2. Выбираем кэширование только статического контента (Accelerate and protect only static assets).
  3. Заполняем описание (Description). Выбираем сервер-источник (Origin) — gitea.exmpl.com. Домен для статического контента в CDN (Custom domain) — static.gitea.exmpl.com. Включаем шифрование (Enable HTTPS), для простоты сертификат будем получать от Let’s Encrypt (Get free Let’s Encrypt certificate).
    Gcore CDN resource initial configuration
  4. Сохраняем / скриним параметры CNAME-записи, которую потом нам нужно будет добавить в домен. Gcore CDN resource DNS setup
  5. Выбираем интеграцию не с CMS (I don’t have CMS).
  6. Включаем сжатие данных (Enable GZip compression), если источник отдаёт без сжатия.
    Gcore CDN resource quick setup options
  1. Идём в панель управления доменом своего DNS-хостера / регистратора, добавляем CNAME-запись для static.gitea.exmpl.com, указывающую на сервер CDN. Пункт 4 из предыдущего раздела. Adding record in DNS registrar
  2. Заходим в настройки CDN-ресурса (Resource settings), ждём около 30 минут для выпуска SSL-сертификата для поддомена.
  3. Затем переключаем протокол, используемый между CDN и Gitea, на HTTPS (Origin pull protocol — HTTPS).
  4. Выставляем управление продолжительностью кэширования со стороны CDN (CDN caching — CDN controlled).
  5. Включаем следование перенаправлениям (Follow redirect from origin).
  6. Включаем автоматическое переключение на защищённое соединение (Enable redirect HTTP to HTTPS).
  7. Донастраиваем по вкусу.
  8. Очищаем кэш: CDN -> Purge -> Purge all.

В конфигурационном файле /etc/gitea/app.ini в секции server добавляем

ini

STATIC_URL_PREFIX = https://static.gitea.exmpl.com

и перезапускаем сервис.

  1. Serving static assets from CDN
  2. Gitea usage: reverse proxies
  3. Gitea Configuration Cheat Sheet
  4. Create and integrate CDN resource for only static files
  5. Add a SSL certificate to transfer content over HTTPS