- tocdepth
2
Дополнительные настройки RTMP/RTSP-publish
Дополнительные настройки ресурса вы можете задать в процессе его создания или после — на вкладке Настройки ресурса.
На этой странице
Локальная авторизация
Решение о доступе к ресурсу принимается средствами нашей сети на основе критериев, обозначенных владельцем контента.
В данном случае авторизация запросов пользователей выполняется исключительно в сети Cloud.ru, внешние ресурсы не используются.
В момент обращения пользователя к защищенному ресурсу владельцу контента необходимо сформировать специальную ссылку.
Пример ссылки: http://example.a.trbcdn.net/path/to/stream/playlist.m3u8?md5=ycmYPfxHwqjnIM93o7JNOA&e=1387984517
Ссылка содержит авторизационный параметр md5(<md5 hash>[,<expires>])
в пути:
md5 hash
— хеш MD5 в формате Base64 for URL, сгенерированный на основе URI запрошенного ресурса, времени жизни ссылки, секретного ключа, IP-адреса пользователя (опционально);expires
— время окончания действия ссылки в формате POSIX time (необязательный параметр).
При обращении к контенту с использованием сгенерированной ссылки, CDN вычисляет значение MD5 и сравнивает его с полученным. Если значение MD5 не совпадает, то пользователю возвращается ответ с кодом 403 Forbidden (запрет на воспроизведение).
Если текущее время превышает значение expires, то пользователю возвращается ответ с кодом 410 Gone (целевой ресурс больше недоступен).
Пример алгоритма расчета MD5-хеша с использованием IP-адреса пользователя в качестве одного из входных параметров:
md5 = base64_url(md5(SECRET/path/to/stream1.2.3.4expiretime))
Пример алгоритма расчета MD5-хеша, если IP-адрес не учитывается:
md5 = base64_url(md5(SECRET/path/to/streamexpiretime))
Внимание
Доменная часть URI при вычислении хеша не используется.
При генерации MD5 в URL не должно быть символов в формате URL encode. Должны быть исходные символы: кириллица, пробелы, проценты и т.д. Запрашивать с этим хешем необходимо закодированный вариант URL.
Можно подписывать часть пути (например, для /path/to/file
можно подписать сам файл, /path/to
, /path
).
Пример генерации ссылки:
Есть следующие входные данные:
секретный ключ:
zah5Mey9Quu8Ea1k
IP-адрес пользователя:
1.2.3.4
URI потока:
http://example.a.trbcdn.net/path/to/stream/playlist.m3u8
Вычисляем время действия ссылки. В приведенном примере — неделя с момента генерации.
$ php -r 'print time() + (7 * 24 * 60 * 60) . "\n";' 1387984517
Вычисляем хеш MD5 в формате Base64 for URL (путь указываем до плейлиста):
$ php -r 'print str_replace("=", "",strtr(base64_encode(md5("zah5Mey9Quu8Ea1k/path/to/stream1.2.3.41387984517", TRUE)), "+/", "-_")) . "\n";' ycmYPfxHwqjnIM93o7JNOA
Итоговая ссылка:
http://example.a.trbcdn.net/path/to/stream/playlist.m3u8?md5=ycmYPfxHwqjnIM93o7JNOA&e=1387984517
Внимание
Хеш MD5, вычисленный для HTTP, является базовым для данного ресурса. То есть один и тот же хеш будет использован для ссылок на файл по протоколам HTTP, HTTPS, несмотря на то, что URI для разных протоколов может немного отличаться.
При локальной авторизации контролируются следующие параметры:
URI запрашиваемого ресурса. Проверяется, что ссылка была сформирована именно для этого файла.
Секретный ключ. Проверяется, что ссылка сформирована именно владельцем контента.
Время окончания действия ссылки (опционально). Вы можете отключить проверку, выбрав опцию Не ограничивать по времени.
IP-адрес пользователя (опционально). Проверяется, что ресурс запрошен именно с того IP-адреса, для которого была сформирована ссылка. Вы можете отключить проверку, выбрав опцию Не учитывать IP адрес.
Внешняя авторизация
Внешняя авторизации предназначена для возможности ограничения доступа к ресурсу с произвольной логикой, описанной в вашем скрипте авторизации.
Решение о доступе к контенту принимается на основе ответа вашего скрипта, ссылку на который вы указываете в личном кабинете при создании/редактировании ресурса.
Если от скрипта авторизации пришел ответ со статусом 200, то доступ к контенту разрешен. В противном случае — доступ запрещен.
Авторизационному скрипту передаются следующие заголовки:
Host
— содержит имя домена, для которого предназначен запрос.
X-Request-URI
— содержит URI запрашиваемого ресурса.
X-Forwarded-For
— содержит реальный IP-адрес пользователя, который запрашивает ресурс.
X-Remote-Addr
— содержит IP-адрес пользователя, который запрашивает ресурс или прокси-сервера.
Ограничения раздачи
В этом разделе вы можете установить ограничения раздачи контента в зависимости от страны и региона, IP адреса, заголовка referer или User-Agent.
Протоколы раздачи потока
По умолчанию предоставляется возможность просмотра трансляции по протоколу HLS. Активируйте эту функцию, если планируете использовать другие протоколы раздачи (RTMP, MPEG-DASH, MSS, Low Latency Streaming).
Перед включением опции с вами свяжется менеджер.
Название ресурса
Для изменения названия ресурса введите в поле новое название ресурса и нажмите Сохранить. Название ресурса генерируется автоматически на этапе создания.
Была ли статья полезной?
для Dev & Test