Налаштування Selectel CDN
Selectel CDN — російський провайдер з точками присутності в Москві, Санкт-Петербурзі та Амстердамі. Оптимальний для проектів з російською аудиторією, працює в зв'язці з Object Storage Selectel (S3 API совместимий).
Підключення CDN
- У панелі Selectel → CDN → Створити ресурс
- Вказати origin-сервер (URL вашого сайту)
- Отримати CNAME виду
resource-id.cdn.selectel.ru - Додати DNS-запис:
cdn.example.ru → resource-id.cdn.selectel.ru
Або через API:
curl -X POST \
-H "X-Auth-Token: $SELECTEL_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "example-assets",
"origin_protocol": "HTTPS",
"origins": [{"source": "example.ru", "backup": false}],
"options": {
"edge_cache_settings": {"enabled": true, "value": "2592000"},
"browser_cache_settings": {"enabled": true, "value": "31536000"}
}
}' \
https://api.selectel.ru/cdn/resources/
Object Storage як CDN-origin
# Створити публічний контейнер у Object Storage (S3-совместимий)
aws s3 mb s3://example-assets \
--endpoint-url https://s3.selcdn.ru
# Завантажити файли
aws s3 sync ./public/assets s3://example-assets/assets/ \
--endpoint-url https://s3.selcdn.ru \
--cache-control "public, max-age=31536000, immutable"
Інтеграція з Laravel (S3 + CDN)
// config/filesystems.php
'selectel' => [
'driver' => 's3',
'key' => env('SELECTEL_KEY'),
'secret' => env('SELECTEL_SECRET'),
'bucket' => env('SELECTEL_BUCKET'),
'endpoint' => 'https://s3.selcdn.ru',
'url' => env('CDN_URL'),
],
// Завантажити через CDN
Storage::disk('selectel')->put(
'images/' . $filename,
$file->getContent(),
['CacheControl' => 'public, max-age=31536000']
);
Час налаштування: кілька годин для налаштування CNAME та Object Storage.







