...
В качестве источника могут выступать:
Якорь | ||||
---|---|---|---|---|
|
- Домен, например: www.example.ru
- IP-адрес, например: 86.86.87.88
...
Информация | ||
---|---|---|
| ||
Для разных типов оптимизаций раздачи существуют свои ограничения:
|
SSL-сертификат
По умолчанию, после сохранения настроек, ваш контент будет доступен по HTTPS и будет иметь следующий вид https://example.a.trbcdn.net. Если в дальнейшем Вы планируете скрыть использование CDN, настроив CNAME, и у Вас есть свой сертификат, то первым шагом до создания ресурса нужно загрузить свой сертификат и потом выбрать его из доступных, при создании ресурса.
...
По умолчанию ваш контент будет доступен по example.a.trbcdn.net/images/1.jpg, но Вы можете настроить доступ к своему контенту по адресу cdn.example.ru/images/1.jpg. Для этого нужно создать CNAME-запись по приведенной ниже инструкции. Запись следует создать на тех серверах, на которые делегирован ваш домен.
Откройте страницу управления DNS на сайте компании, предоставляющей Вам услуги DNS-хостинга.
Создайте CNAME-запись со следующими значениями полей (в разных панелях управления названия полей могут отличаться):
Имя (Хост) — "cdn".
В некоторых панелях управления в качестве имени записи требуется указывать полное имя поддомена, например, cdn.example.ru.
Значение — example.a.trbcdn.net..
Подождите, пока изменения в DNS вступят в силу. Этот процесс может занять до 72 часов.
...
Информация | ||
---|---|---|
| ||
Если Вы включили доступ к контенту только понастроили перенаправление HTTP на HTTPS, то на всезапросы по HTTP будет возвращенвозвращён ответ с кодом " 403 Forbidden301 Redirected" ( запрет доступаперенаправлено). |
...
Если Вы хотите использовать только протокол HTTPS - активируйте опцию "Использовать только HTTPS".
Информация | ||||
---|---|---|---|---|
| По умолчанию мы исключаем
| |||
Если Вы включили доступ к контенту только по HTTPS, то на все запросы по HTTP будет возвращен ответ с кодом "403 Forbidden" (запрет доступа). |
Поисковая индексация
Информация | ||
---|---|---|
| ||
По умолчанию мы исключаем из индексации CDN-ссылки, чтобы поисковые роботы не видели "зеркало" вашего сайта. Если робот поймает "зеркало" вашего сайта — это может привести к исключению сайта из индексации. Только опытным пользователям рекомендуется работать с этим разделом. |
...
При включении этой опции при кэшировании контента будут учитываться параметры в ссылке вида: site.ru/img/1.jpg?id=3
Авторизация $
Локальная авторизация (на основе подписи) $
Авторизация запросов пользователей выполняется исключительно в сети CDN, внешние ресурсы не используются. Решение о доступе к ресурсу принимается средствами нашей сети на основе критериев, обозначенных владельцем контента. В данном случае авторизация запросов пользователей выполняется исключительно в сети CDN, внешние ресурсы не используются. В момент обращения пользователя к защищённому ресурсу владельцу контента необходимо сформировать специальную ссылку.
Примеры:
http://example.a.trbcdn.net/md5(SMsM5ezVQp79ikyjz9tjUw,1387984516)/path/to/file
Ссылка содержит авторизационный параметр 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/file1.2.3.4expiretime))
Пример алгоритма расчета MD5-хэша, если IP-адрес не учитывается:
md5 = base64_url(md5(SECRET/path/to/fileexpiretime))
Информация | ||
---|---|---|
| ||
Доменная часть URI при вычислении хэша не используется! |
Информация | ||
---|---|---|
| ||
При генерации MD5 в URL не должно быть символов в формате urlencode, а должны быть исходные символы: кириллица, пробелы, проценты и т.д. Запрашивать с этим хешом необходимо кодированный вариант URL. |
Информация | ||
---|---|---|
| ||
Можно подписывать часть пути (например, для /path/to/file можно подписать сам файл, /path/to, /path) |
Пример генерации ссылки:
...
Есть следующие входные данные:
- секретный ключ: zah5Mey9Quu8Ea1k
- IP-адрес пользователя: 1.2.3.4
- URI ресурса для HTTP: http://example.a.trbcdn.net/path/to/file
Вычисляем время действия ссылки. В приведённом примере – неделя с момента генерации.
$ php -r 'print time() + (7 * 24 * 60 * 60) . "\n";' 1387984516
...
$ php -r 'print str_replace("=", "",strtr(base64_encode(md5("zah5Mey9Quu8Ea1k/path/to/file1.2.3.41387984516", TRUE)), "+/", "-_")) . "\n";' SMsM5ezVQp79ikyjz9tjUw
...
Итоговая ссылка:
http://example.a.trbcdn.net/md5(SMsM5ezVQp79ikyjz9tjUw,1387984516)/path/to/file
...
:
- Секретный ключ. Проверяется, что ссылка сформирована именно владельцем контента.
- URI запрашиваемого ресурса. Проверяется, что ссылка была сформирована именно для этого файла.
- IP-адрес пользователя (опционально). Проверяется, что ресурс запрошен именно с того IP-адреса, для которого была сформирована ссылка. Вы можете отключить проверку, выбрав опцию "Не учитывать IP адрес".
- Время окончания действия ссылки (опционально). Вы можете отключить проверку, выбрав опцию "Не ограничивать по времени".
В момент обращения пользователя к защищённому ресурсу владельцу контента необходимо сформировать специальную ссылку.
Пример ссылки с локальной авторизацией:
http://example.a.trbcdn.net/md5(kymJ2w55VH4LUMSKGb6ZqA,1704067200)/path/to/file
Ссылка содержит авторизационный параметр md5(<md5 hash>[,<expires>])
в пути:
<md5 hash>
— хэш MD5 в формате Base64 for URL, сгенерированный на основе URI запрошенного ресурса, времени жизни ссылки, секретного ключа, IP-адреса пользователя (опционально);<expires>
— время окончания действия ссылки в формате POSIX time (необязательный параметр).
При обращении к контенту с использованием сгенерированной ссылки, CDN вычисляет значение MD5 и сравнивает его с полученным. Если значение MD5 не совпадает, то пользователю возвращается ответ с кодом 403 Forbidden
(запрет на воспроизведение).
Если текущее время превышает значение expires
, то пользователю возвращается ответ с кодом 410 Gone
(целевой ресурс больше недоступен).
Алгоритм генерации MD5-хэша (<md5_hash>
) для подписи ссылок:
- Формируем строку для подписи
<secret_word><path_to_file><ip><expire_time>
. Элементы<ip>
и/или<expire_time>
не добавляются в строку для подписи, если в настройках локальной авторизации указаноНе учитывать IP адрес
и/илиНе ограничивать по времени
. - Генерируем
base64_url
черезbase64_url(md5(<строка для подписи>))
. - Формируем подпись
<md5 hash>
, выполняя следующие замены вbase64_url
:- символ
=
заменяем на пустую строку''
- символ
+
заменяем на-
- символ
/
заменяем на_
- символ
- Формируем ссылку, используя полученную подпись
<md5 hash>
.
Информация | ||
---|---|---|
| ||
|
При локальной авторизации контролируются следующие параметры:
...
Пример генерации ссылки:
Есть следующие входные данные:
- секретный ключ: zah5Mey9Quu8Ea1k
- IP-адрес пользователя: 1.2.3.4
- URI ресурса для HTTP: http://example.a.trbcdn.net/path/to/file
Вычисляем время действия ссылки. В приведённом примере – неделя с момента генерации.
$ php -r 'print time() + (7 * 24 * 60 * 60) . "\n";' 1387984516
- Вычисляем хэш MD5 в формате Base64 for URL:
$ php -r 'print str_replace("=", "",strtr(base64_encode(md5("zah5Mey9Quu8Ea1k/path/to/file1.2.3.41387984516", TRUE)), "+/", "-_")) . "\n";' SMsM5ezVQp79ikyjz9tjUw
Итоговая ссылка:
http://example.a.trbcdn.net/md5(SMsM5ezVQp79ikyjz9tjUw,1387984516)/path/to/file
Внешняя авторизация $
Внешняя авторизации предназначена для возможности ограничения доступа к ресурсу с произвольной логикой, описанной в вашем скрипте авторизации.
Решение о доступе к контенту принимается на основе ответа вашего скрипта, ссылку на который Вы указываете в личном кабинете при создании/редактировании ресурса.
Если от скрипта авторизации пришел ответ со статусом 200, то доступ к контенту разрешен. В противном случае - доступ запрещен.
...
Host
: содержит имя домена, для которого предназначен запрос;X-Request-URI
: содержит URI запрашиваемого ресурса;X-Forwarded-For
: содержит реальный IP-адрес пользователя, который запрашивает ресурс;X-Remote-Addr
: содержит IP-адрес пользователя, который запрашивает ресурс, или прокси-сервера.
Ограничения раздачи
...
$ Якорь test test
test | |
test |
Описание
В этом разделе Вы можете установить ограничения раздачи контента в зависимости от страны и региона, IP адреса, referer или User-Agent
...
- Активируйте нужный Вам вид ограничения и выберите правило по умолчанию (запрещено или разрешено).
- Добавьте исключения из правила по умолчанию. Для гео его ограничений также выберите правило для самого исключения. Таким образом Вы можете, например, запретить трафик для всей страны, при этом разрешить для отдельного региона.
- При необходимости задайте интервалы времени действия правила. Интервалы не должны пересекаться.
- Возможно добавить несколько различных правил каждого вида, при условии что их временные интервалы не пересекаются.
Сжатие Brotli $ Якорь brotli brotli
brotli | |
brotli |
Данная опция позволяет включить сжатие brotli.
...
- application/javascript
- application/json
- application/vnd.apple.mpegurl
- application/vnd.ms-fontobject
- application/x-font-opentype
- application/x-font-truetype
- application/x-font-ttf
- application/x-javascript
- application/xml
- application/xml+rss
- font/eot - font/opentype
- font/otf - image/svg+xml
- image/vnd.microsoft.icon
- image/x-icon
- text/compressible
- text/css
- text/javascript
- text/xml
...
Информация | ||
---|---|---|
| ||
В сервисе есть ограничение на размер файла - до 2 Мб. Файлы больше 2 Мб не обрабатываются и будут отдаваться в неизменном виде. Если вам нужно обрабатывать файлы тяжелее 2 Мб, обратитесь к вашему менеджеру или в саппорт. |
Оптимизация раздачи изображений $
Данная услуга позволяет конвертировать изображения из форматов JPEG, GIF, PNG (.jpg, .jpeg, .png, .gif)
в формат WEBP (.webp)
на лету.WebP
— это формат, который использует продвинутый алгоритм сжатия, позволяющий уменьшить размер для некоторых изображений без видимых потерь в качестве (на 25-35%). Формат WebP
поддерживает большинство современных браузеров.
...
Вы можете одновременно изменить качество изображения с помощью модификатора quality. Если модификатор не указан, то по умолчанию принимается quality = 75
.
...
Модификация | Параметр модификации | Возможные значения |
---|---|---|
Изменение качества | quality | 1-100 integer |
Изменение размера | resize=<width>x<height> ,resize=<width> ,resize=x<height> | 1-4000 integer (pixels) for <width>, <height> |
Прогрессивный JPEG | progressive | y/n |
quality
Якорь | ||||
---|---|---|---|---|
|
Позволяет изменять качество изображения.
Значение задается целым числом в диапазоне 1-100
. Чем больше число, тем выше качество.
Примеры запросов:
https://example.a.trbcdn.net/ioss(quality=70)/example.jpg
https://example.a.trbcdn.net/ioss(quality=1)/example.jpg
resize
Позволяет изменять размер изображения. Новый размер задаётся в запросах от пользователя в качестве значения параметра resize
в виде <width>x<height>
, либо <width>
, либо x<height>
. В двух последних случаях вторая размерность вычисляется исходя из соотношения сторон исходного изображения. Изменение размера без потерь возможно только в меньшую сторону. Размерности задаются целыми числами.
Примеры запросов:
https://example.a.trbcdn.net/ioss(resize=400x300)/example.jpg
https://example.a.trbcdn.net/ioss(resize=x200)/example.jpg
progressive
Позволяет отрисовывать картинку сначала в минимальном качестве, а потом улучшать по мере загрузки.
Пример запроса:
https://example.a.trbcdn.net/ioss(progressive=y)/example.jpg
...
Конвертация видео
Якорь |
---|
...
|
Активируйте данную услугу, если у Вас видео в формате MP4-файла, а Вам требуется его раздача по стриминговым протоколам HLS или MPEG-DASH. Услуга может быть включена для всего ресурса, либо для определенного пути (правила).
...