Подключение 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.
Создание ресурса CDN
- Идём в Gcore CDN resources -> Create CDN resource.
- Выбираем кэширование только статического контента (Accelerate and protect only static assets).
- Заполняем описание (Description). Выбираем сервер-источник (Origin) — gitea.exmpl.com. Домен для статического контента в CDN (Custom domain) — static.gitea.exmpl.com. Включаем шифрование (Enable HTTPS), для простоты сертификат будем получать от Let’s Encrypt (Get free Let’s Encrypt certificate).

- Сохраняем / скриним параметры CNAME-записи, которую потом нам нужно будет добавить в домен.

- Выбираем интеграцию не с CMS (I don’t have CMS).
- Включаем сжатие данных (Enable GZip compression), если источник отдаёт без сжатия.

Донастройка ресурса CDN
- Идём в панель управления доменом своего DNS-хостера / регистратора, добавляем CNAME-запись для static.gitea.exmpl.com, указывающую на сервер CDN. Пункт 4 из предыдущего раздела.

- Заходим в настройки CDN-ресурса (Resource settings), ждём около 30 минут для выпуска SSL-сертификата для поддомена.
- Затем переключаем протокол, используемый между CDN и Gitea, на HTTPS (Origin pull protocol — HTTPS).
- Выставляем управление продолжительностью кэширования со стороны CDN (CDN caching — CDN controlled).
- Включаем следование перенаправлениям (Follow redirect from origin).
- Включаем автоматическое переключение на защищённое соединение (Enable redirect HTTP to HTTPS).
- Донастраиваем по вкусу.
- Очищаем кэш: CDN -> Purge -> Purge all.
Подстройка Gitea
В конфигурационном файле /etc/gitea/app.ini в секции server добавляем
STATIC_URL_PREFIX = https://static.gitea.exmpl.com
и перезапускаем сервис.