Дополнительные настройки

Дополнительные настройки ресурса вы можете задать в процессе его создания или после — на вкладке Настройки ресурса.

Локальная авторизация

Решение о доступе к ресурсу принимается средствами нашей сети на основе критериев, обозначенных владельцем контента.

В данном случае авторизация запросов пользователей выполняется исключительно в сети 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

  1. Вычисляем время действия ссылки. В приведенном примере — неделя с момента генерации.

    $ php -r 'print time() + (7 * 24 * 60 * 60) . "\n";'
    1387984517
    
  2. Вычисляем хеш MD5 в формате Base64 for URL (путь указываем до плейлиста):

    $ php -r 'print str_replace("=", "",strtr(base64_encode(md5("zah5Mey9Quu8Ea1k/path/to/stream1.2.3.41387984517", TRUE)), "+/", "-_")) . "\n";'
    ycmYPfxHwqjnIM93o7JNOA
    
  3. Итоговая ссылка: 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).

Перед включением опции с вами свяжется менеджер.

Название ресурса

Для изменения названия ресурса введите в поле новое название ресурса и нажмите Сохранить. Название ресурса генерируется автоматически на этапе создания.

Запустили Evolution free tier
для Dev & Test
Получить