Источник данных
Источник данных
Для корректной работы CDN важно правильно настроить источник данных. В дальнейшем сеть CDN будет обращаться к указанному источнику, для кэширования контента:
В качестве источника могут выступать:
- Домен, например: www.example.ru
- IP-адрес, например: 86.86.87.88
Обратите внимание
Если у Вас несколько источников контента (primary/backup), то Вы можете настроить приоритетность каждого. В случае, если источник с "первым приоритетом" будет недоступен, то сеть CDN автоматически переключится на следующий источник. Обратное переключение на приоритетный источник произойдёт автоматически, когда он будет снова работать в штатном режиме.
При создании источника данных с S3-доменом будет необходимо указать разрешенный бакет, для этого появится соответсвующее поле.
Вы можете выбрать использование HTTPS при запросе к источникам, выбрав соответствующую опцию.
Вы можете включить проверку сертификата источника, выбрав соответствующую опцию.
Обратите внимание
Вы можете использовать AWS авторизацию при запросе к источникам. Для этого вам необходимо выбрать соответствующую опцию и ввести два ключа: ключ доступа (access key) и секретный ключ (secret key).
Если Вы используете хостинг на таких сервисах как: Wix, Amazon S3, Selectel и т.д., обратите, пожалуйста, особое внимание на раздел Hostname.
У многих виртуальных хостингов (таких как Amazon S3) есть практика обслуживания нескольких сайтов с одного веб-сервера. Чтобы узлы сети CDN могли достучаться до вашего контента, Вам нужно указать корректный Hostname.
Если Вы не знаете свой Hostname или не знаете где его найти, попробуйте воспользоваться этим сервисом. Укажите домен своего сайта и на вкладке "Информация" посмотрите поле "Имя ресурса".
Порядок действий, если Вы не знаете свой Hostname:
- Зайдите на свой сайт и скопируйте ссылку на любую картинку, кликнув по ней правой кнопкой.
- Вставьте ссылку в новом окне браузера. Полученный домен и будет являться Источником контента для вашего сайта. Например, если у Вас сайт размещён на Wix, источником контента будет выступать домен static.wixstatic.com
- Зайдите на ресурс https://check-host.net и укажите домен вашего сайта (не источника контента).
- На вкладке "Информация" посмотрите на "Имя ресурса" — это и есть ваш Hostname. Например, если у Вас хостинг на Amazon, то Hostname может иметь вид: ec7-54-151-126-156.eu-west-1.compute.amazonaws.com
- Укажите полученный Hostname в личном кабинете.
Оптимизация раздачи
Необходимо выбрать один из вариантов оптимизации раздачи контента:
- "Статика (по умолчанию)" - оптимизируется раздача картинок, видео-файлов, JavaScript-файлов, CSS-файлов, и т.п.. Текстовые файлы сжимаются (gzip по умолчанию) перед отдачей пользователям.
- "Большие файлы (> 20 Мбайт)" - оптимизируется раздача больших файлов. Файлы с ориджина загружаются по-частям (HTTP Range-запросы). Сжатие на стороне CDN не производится.
- "Сегментированный видеопоток" - оптимизируется раздача HTTP LIVE потоков (HLS, MPEG-DASH, MSS).
Для оптимизации "Большие файлы (> 20 Мбайт)" может быть указан размер slice (размер части запроса) целым числом Мбайт от 1 до 1024. Значение по умолчанию: 16 Мбайт.
Обратите внимание
Важно
Для разных типов оптимизаций раздачи существуют свои ограничения:
- Статика (по умолчанию) - в правилах можно включать только одну из списка опций (оптимизация и модификация изображений, конвертация видео, сжатие Brotli).
- Большие файлы (> 20 Мбайт) - в ресурсе и в правилах нельзя включать опции оптимизация и модификация изображений, конвертация видео и сжатие Brotli.
- Сегментированный видеопоток - в ресурсе и правилах можно включать опцию сжатие Brotli и нельзя включать опции оптимизация и модификация изображений и конвертация видео.
SSL-сертификат
По умолчанию, после сохранения настроек, ваш контент будет доступен по HTTPS и будет иметь следующий вид https://example.a.trbcdn.net. Если в дальнейшем Вы планируете скрыть использование CDN, настроив CNAME, и у Вас есть свой сертификат, то первым шагом до создания ресурса нужно загрузить свой сертификат и потом выбрать его из доступных, при создании ресурса.
Обратите внимание
Желаемый CNAME
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 часов.
Дополнительные настройки
Следовать редиректам
По умолчанию кешируются только ответы с кодами "301 Moved Permanently"/"302 Found" при их получении от вашего ориджина. Активируйте эту опцию для возможности перехода по адресам редиректа и кэширования контента.
Использовать HTTP2
По умолчанию поддерживается протокол HTTP/2.0. Отключите эту опцию, если поддержка данного протокола не требуется.
Использовать только современные версии TLS
По умолчанию используются все версии протокола TLS, но Вы можете подключить использование исключительно новых версий протокола TLS (v1.2, v1.3).
Использовать сильные SSL шифры
Вы можете подключить использование сильных SSL шифров.
Обратите внимание
Параметры HTTPS
По умолчанию ваш контент будет доступен с узлов 3data как по протоколу HTTP, так и по протоколу HTTPS. Но Вы можете настроить автоматическое перенаправление, используя опцию "Автоматически перенаправлять HTTP на HTTPS". Если Вы хотите использовать только протокол HTTPS - активируйте опцию "Использовать только HTTPS".
Обратите внимание
Поисковая индексация
Внимание!
При помощи этой настройки Вы можете тонко настроить индексацию вашего контента поисковыми роботами. Можно настроить проксирование вашего файла robots.txt или загрузить его со своего устройства к нам на портал. Перед проксированием или загрузкой вашего robots.txt мы рекомендуем сперва проверить правильность его заполнения на специальном ресурсе.
Время кэширования контента
Здесь Вы можете указать время кэширования в зависимости от кода ответа (2xx, 3xx) и установить игнорирование заголовков управления кэшированием ("Expires" и "Cache-Control").
Query String
При включении этой опции при кэшировании контента будут учитываться параметры в ссылке вида: site.ru/img/1.jpg?id=3
Авторизация $
Локальная авторизация (на основе подписи) $
Решение о доступе к ресурсу принимается средствами нашей сети на основе критериев, обозначенных владельцем контента. В данном случае авторизация запросов пользователей выполняется исключительно в сети 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))
Обратите внимание
Обратите внимание
Обратите внимание
Пример генерации ссылки:
Есть следующие входные данные:
- секретный ключ: 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
Внимание!
При локальной авторизации контролируются следующие параметры:
- URI запрашиваемого ресурса. Проверяется, что ссылка была сформирована именно для этого файла.
- Секретный ключ. Проверяется, что ссылка сформирована именно владельцем контента.
- Время окончания действия ссылки (опционально). Вы можете отключить проверку, выбрав опцию "Не ограничивать по времени".
- IP-адрес пользователя (опционально). Проверяется, что ресурс запрошен именно с того IP-адреса, для которого была сформирована ссылка. Вы можете отключить проверку, выбрав опцию "Не учитывать IP адрес".
Внешняя авторизация $
Внешняя авторизации предназначена для возможности ограничения доступа к ресурсу с произвольной логикой, описанной в вашем скрипте авторизации.
Решение о доступе к контенту принимается на основе ответа вашего скрипта, ссылку на который Вы указываете в личном кабинете при создании/редактировании ресурса.
Если от скрипта авторизации пришел ответ со статусом 200, то доступ к контенту разрешен. В противном случае - доступ запрещен.
Авторизационному скрипту передаются следующие заголовки:
Host
: содержит имя домена, для которого предназначен запрос;X-Request-URI
: содержит URI запрашиваемого ресурса;X-Forwarded-For
: содержит реальный IP-адрес пользователя, который запрашивает ресурс;X-Remote-Addr
: содержит IP-адрес пользователя, который запрашивает ресурс, или прокси-сервера.
Ограничения раздачи $
Описание
В этом разделе Вы можете установить ограничения раздачи контента в зависимости от страны и региона, IP адреса, referer или User-Agent
Процесс конфигурации модуля
- Активируйте нужный Вам вид ограничения и выберите правило по умолчанию (запрещено или разрешено).
- Добавьте исключения из правила по умолчанию. Для гео ограничений также выберите правило для самого исключения. Таким образом Вы можете, например, запретить трафик для всей страны, при этом разрешить для отдельного региона.
- При необходимости задайте интервалы времени действия правила. Интервалы не должны пересекаться.
- Возможно добавить несколько различных правил каждого вида, при условии что их временные интервалы не пересекаются.
Сжатие Brotli $
Данная опция позволяет включить сжатие brotli.
Brotli — это алгоритм сжатия данных без потерь с открытым исходным кодом, предложенный компанией Google в 2015 году. Он использует словарь с часто встречающимися последовательностями строк в текстовых файлах (напр. .css, .js), что позволяет достичь для них в среднем на 20% большей степени сжатия в сравнении с gzip. Может подключаться как для всего ресурса в целом, так и по правилам для конкретных путей через интерфейс ЛК. Возможна работа только по HTTPS.
Сжатие возможно для следующих типов файлов:
- 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
Для корректной работы сжатия браузер должен посылать заголовок Accept-Encoding: br
(поддерживается в браузерах на базе Chrome 49+, Firefox 44+, Opera 36+).
Оптимизация и модификация изображений $
После включения данной опции вы сможете использовать оптимизацию раздачи изображений и их модификацию на лету.
Важно
Оптимизация раздачи изображений $
Данная услуга позволяет конвертировать изображения из форматов JPEG, GIF, PNG (.jpg, .jpeg, .png, .gif)
в формат WEBP (.webp)
на лету.WebP
— это формат, который использует продвинутый алгоритм сжатия, позволяющий уменьшить размер для некоторых изображений без видимых потерь в качестве (на 25-35%). Формат WebP
поддерживает большинство современных браузеров.
Платформа анализирует HTTP-заголовок Accept
из запроса пользователя к данным и определяет, поддерживает ли браузер пользователя формат WebP
:
- если поддерживает, то пользователь получает изображение в формате
WebP
; - если не поддерживает, то передается изображение в оригинальном формате.
Преобразование в формат WebP
происходит автоматически в асинхронном режиме. Это означает, что:
- Вам не нужно предварительно менять код веб-ресурса и/или вид (формат) ссылок к изображениям.
- Сигналом к преобразованию изображения в формат
WebP
служит первый запрос со стороны конечного пользователя, который поддерживает форматWebP
, к этому изображению. При этом в ответ на первый запрос может быть выдано изображение в исходном формате (во избежание задержки на преобразование), а после завершения преобразования на все последующие запросы к этому изображению будут отдаваться изображения в форматеWebP
(в случае его поддержки браузерами конечных пользователей).
Вы можете одновременно изменить качество изображения с помощью модификатора quality. Если модификатор не указан, то по умолчанию принимается quality = 75
.
Модификация изображений $
Услуга позволяет изменять изображения на лету в момент запроса. Обрабатываются только файлы изображений с расширениями jpeg, jpg, gif, png и webp
.
URI вида /ioss(<параметр модификации>=<значение>)/
интерпретируются как специальные и не передаются на источник, они используются для получения модифицированного изображения. В результате преобразования пользователь получает модифицированное изображение. Если специальные URI отсутствуют в пути к изображению при запросе, то пользователь получает оригинальное изображение.
Доступные модификации:
Модификация | Параметр модификации | Возможные значения |
---|---|---|
Изменение качества | 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. Услуга может быть включена для всего ресурса, либо для определенного пути (правила).
Важно
MP4Box -info test.mp4
Описание запросов для просмотра MP4-файлов с использованием стриминговых протоколов можно найти на вкладке "Инструкция по настройке" на странице редактирования ресурса.
Защита видео от пиратов (DRM)
Активируйте услугу, если планируете использовать технические средства защиты авторских прав, которые ограничивают пиратский доступ к видео - DRM (Digital Rights Management).
Перед включением опции с Вами свяжется менеджер.