// BiletK CDN · v3.2 Документация
Доставка
контента
Network
Высокопроизводительная доставка статических ресурсов, медиа-потоков и API-ответов на границе сети. Глобальное распределение, обязательный TLS 1.3, автоматический origin pull без лишних настроек.
12Локаций PoP
<18мссредний TTFB
99.97%Uptime SLA
10 Гбит/сна Edge-ноду
# Ключевые возможности
// Что BiletK CDN предлагает «из коробки»
Edge-кэширование
Настраиваемый TTL для путей, stale-while-revalidate, API для очистки кэша
TLS Терминация
Авто-выпуск сертификатов, TLS 1.2/1.3, HSTS с поддержкой preload
Origin Pull
Простой забор данных с любого HTTP/S источника. Приватные сорсы через токены
Live-стриминг
Проброс HLS/DASH, chunked transfer, проксирование долгоживущих соединений
Аналитика
Трафик в реальном времени, Cache Hit Ratio, распределение кодов ответа
Edge-правила
Перезапись заголовков, редиректы, гео-блокировка и лимиты на уровне узла
# Быстрый старт
// Настройте доставку своего первого ресурса менее чем за 5 минут
Направьте запросы на эндпоинт CDN и настройте CNAME вашего домена. Ресурсы будут автоматически загружены и закэшированы при первом обращении.
Настройка DNS
# Добавьте запись CNAME у вашего DNS-провайдера cdn.yourdomain.com 300 IN CNAME cdn.biletk.ru # Проверьте обновление записей $ dig CNAME cdn.yourdomain.com +short cdn.biletk.ru.
origin-config.json
{
"origin": "https://your-backend.example.com",
"zone": "cdn.biletk.ru",
"cache": {
"ttl": 86400,
"stale_ttl": 3600,
"rules": [
{ "path": "/static/*", "ttl": 2592000 },
{ "path": "/api/*", "ttl": 0 }
]
},
"tls": {
"min_version": "TLSv1.2",
"hsts": true
}
}
# Аутентификация
// Bearer-токен через заголовок Authorization или параметр ?token=
Примечание: Все вызовы Management API требуют валидный API-токен. Эндпоинты доставки ресурсов публичны, если не включена авторизация на уровне зоны.
пример curl
$ curl -X GET https://cdn.biletk.ru/api/v1/zones \ -H "Authorization: Bearer <ВАШ_ТОКЕН>" \ -H "Content-Type: application/json"
# REST API
// Базовый URL: https://cdn.biletk.ru/api/v1
GET
/zones
Список всех зон доставки для текущего аккаунта
POST
/zones
Создать новую зону с конфигурацией источника
GET
/zones/{id}/stats
Получить статистику трафика, запросов и Cache Hit Ratio
POST
/zones/{id}/purge
Очистить кэшированные объекты по паттерну пути или тэгу
GET
/zones/{id}/rules
Список Edge-правил (кэш, редиректы, заголовки) для зоны
DEL
/zones/{id}
Удалить зону и все связанные с ней настройки
# Загрузка файлов
// Прямая загрузка в Edge Storage — источник (origin) не требуется
| Параметр | Тип | Описание |
|---|---|---|
| /upload | multipart/form-data | Загрузить файл напрямую в хранилище. Возвращает URL для доставки. |
| ?ttl= | integer | Время жизни в секундах. По умолчанию: настройки зоны. Макс: 31536000 |
| ?tag= | string | Тэг кэша для групповой инвалидации. Несколько тэгов через запятую. |
| ?immutable= | bool | Пометить ресурс как неизменяемый — включает вечное кэширование (content-hash URL). |
# Стриминг
// Долгоживущие соединения, chunked transfer, проброс HLS
BiletK CDN поддерживает проксирование длительных HTTP-соединений для Live-видео, потоков данных в реальном времени и ответов с chunked-кодированием. Буферизация отключена по умолчанию для стриминг-маршрутов.
edge-rule — маршрут для стриминга
{
"match": { "path": "/flow/video/strem" },
"proxy": {
"upstream": "http://origin:3000,
"buffering": false,
"read_timeout": 86400,
"chunked": true
}
}
# Edge-конфигурация
// Полный справочник настроек уровня зоны
| Ключ | По умолчанию | Описание |
|---|---|---|
| cache.ttl | 86400 | TTL кэша по умолчанию в секундах |
| cache.stale_ttl | 3600 | Отдача устаревшего контента во время обновления данных с сорса |
| tls.min_version | TLSv1.2 | Минимальная поддерживаемая версия протокола TLS |
| tls.hsts | true | Отправка заголовка Strict-Transport-Security |
| tls.hsts_max_age | 31536000 | Значение HSTS max-age в секундах |
| proxy.buffering | true | Буферизация ответов апстрима на узле CDN |
| proxy.timeout | 60 | Тайм-аут чтения/отправки апстрима в секундах |
| headers.forwarded | true | Передача X-Forwarded-For и X-Real-IP на источник |
| gzip.enabled | true | Gzip-сжатие для ответов типа text/html/js/css |
| http2.enabled | true | Включить поддержку HTTP/2 для HTTPS |
# Вебхуки
// Получайте события об очистке кэша, обновлении сертификатов или недоступности сорса
пример webhook payload
{
"event": "cache.purged",
"zone_id": "z_a3f9b2",
"timestamp": 1731512400,
"data": {
"paths": ["/static/app.js", "/static/app.css"],
"purged_count": 2
}
}
# Статус системы
// Оперативный статус работы всех Edge-нод
Edge-сеть (EU-West)Работает · 11.2мс
Edge-сеть (EU-East)Работает · 8.7мс
Management APIРаботает · 42мс
Выпуск сертификатов TLSРаботает
Конвейер инвалидации кэшаРаботает · ср. 340мс
Сбор аналитикиРаботает
# Коды ошибок
// Стандартные HTTP-коды, возвращаемые слоем CDN
| Код | Значение |
|---|---|
| 200 | OK — ресурс отдан из кэша или с источника |
| 206 | Partial Content — выполнен частичный запрос (Range) |
| 301 | Redirect — переход HTTP → HTTPS или сработало правило перезаписи пути |
| 404 | Not Found — ресурс отсутствует в кэше, источник вернул 404 |
| 429 | Too Many Requests — сработал лимит запросов на узле |
| 502 | Bad Gateway — источник недоступен или вернул некорректный ответ |
| 524 | Timeout — источник превысил настроенное время ожидания чтения |