HTTP Auth: Backend
Авторизация на стороне бэкенда позволяет использовать вашу существующую систему управления пользователями (Middleware) для контроля доступа к вашим потокам. Вместо управления пользователями в Astra вы можете подключить вашу текущую платформу, такую как Ministra, IPTVportal или собственную систему.
Как это работает
Заголовок раздела «Как это работает»- Пользователь запрашивает канал: Плеер зрителя отправляет запрос с токеном или учетными данными
- Astra обращается к вашему Middleware: Astra пересылает детали запроса в вашу систему управления пользователями
- Middleware проверяет права доступа: Ваша система проверяет, может ли пользователь получить доступ к этому каналу
- Доступ разрешен или запрещен: Если разрешено — Astra начинает трансляцию; если нет — доступ блокируется
Настройка
Заголовок раздела «Настройка»Перейдите в Settings → HTTP Auth в Astra. Выберите “Backend Type” и укажите “Backend Address” вашей системы.
Ministra/Stalker
Заголовок раздела «Ministra/Stalker»Backend Address:
http://example.com/stalker_portalВ админ-панели Ministra/Stalker включите Temporary URL → Flussonic support
IPTVportal
Заголовок раздела «IPTVportal»Для облачной платформы:
https://go.iptvportal.cloudДля локальной установки: Используйте адрес вашего сервера (например, http://your-server.com)
В настройках портала откройте меню Keys и создайте новый ключ:
Name: AstraAlgorithm: ARESSTREAMMode: SMKey Length: 1472 bitUpdate Rate: 1:00:00
В настройках канала портала:
Auth: arescryptEncoded: включеноKey: Astra
Microimpulse Smarty
Заголовок раздела «Microimpulse Smarty»Backend Address:
http://example.comHTTP Request
Заголовок раздела «HTTP Request»Создайте собственную систему аутентификации, выбрав HTTP Request как Backend Type и указав ваш URL-эндпоинт.
Когда пользователь запрашивает доступ, Astra отправляет GET-запрос на ваш эндпоинт со следующими данными:
- Параметры запроса: все параметры из исходного запроса пользователя
- HTTP-заголовки с деталями сессии:
X-Session-ID: уникальный номер сессииX-Channel-ID: уникальный идентификатор каналаX-Real-IP: IP-адрес клиентаX-Real-Path: путь запроса клиентаX-Real-UA: User-Agent клиентаX-Real-Host: Host из запроса клиента
Ваш бэкенд может ответить:
HTTP 200: доступ разрешенHTTP 403/401: доступ запрещен- Заголовок
X-Session-Name— имя пользователя (необязательно)
Пример работы:
- Ваш бэкенд:
https://auth.example.com/check - Пользователь запрашивает:
https://live.example.com/play/a001/index.m3u8?token=123 - Astra обращается:
https://auth.example.com/check?token=123 - В заголовках:
X-Real-Path: /play/a001/index.m3u8и другие детали запроса
Важно: Поведение по умолчанию
Заголовок раздела «Важно: Поведение по умолчанию»Если ваш бэкенд недоступен, Astra по умолчанию разрешает доступ. Это предотвращает остановку сервиса при сбоях сервера аутентификации, но пользователи смогут получить бесплатный доступ во время таких сбоев.
Решение проблем
Заголовок раздела «Решение проблем»Пользователи получают бесплатный доступ
Заголовок раздела «Пользователи получают бесплатный доступ»Если пользователи могут смотреть каналы бесплатно, возможно, ваш бэкенд недоступен. Проверьте соединение с бэкендом:
curl -v "https://auth.example.com/check"Замените URL на фактический адрес вашего бэкенда из настроек Astra.
Распространенные проблемы:
Connection refused: сервер бэкенда не работает- Запрос зависает: проблемы с сетевым соединением
- Неверный URL: проверьте адрес бэкенда в настройках
Пользователи не могут смотреть платные каналы
Заголовок раздела «Пользователи не могут смотреть платные каналы»Если легальные пользователи не получают доступ:
- Проверьте логи бэкенда: найдите ошибки аутентификации
- Проверьте коды ответа: ваш бэкенд должен возвращать HTTP 200 для валидных пользователей
- Проверьте вручную: используйте curl с валидным токеном для теста вашего эндпоинта