Правила ресурса

Для CDN-ресурса можно создать правило для:

В результате настройки CDN-ресурса (а также настройки кэширования, HTTP-заголовков и методовконтента) будут применяться ко всем файлам. А к файлам, указанным в правиле, применятся настройки из правила.

Для одного CDN-ресурса можно создать максимум 5 правил. Если нужно создать больше правил, обратитесь в тех. поддержку T1 Облако.

Наибольший приоритет имеет правило, расположенное первым в списке на вкладке Правила. Если изменить последовательность правил, то изменится и их приоритет.

Создание правила

Чтобы создать правило:

  1. В главном меню портала перейдите в раздел Ресурсы  Cloud CDN.
  2. На вкладке Ресурсы нажмите на кнопку в строке с ресурсом, для которого нужно создать правило.
  3. На вкладке Правила нажмите на кнопку и выберите пункт Создать пустое правило.
  4. Заполните поля:

    Создать правило:

    • Название — название правила, отражающее его суть;
    • Правило — регулярное выражение, начинающееся с ^/ или /. Можно задать правило для:
      • имени и/или расширения файлов. Например, выражение /.*\.(jpg|jpeg|png)$/, которому соответствует URL https://mydomain.com/photo1.jpeg, применимо к файлам с расширениями .jpg, .jpeg и .png независимо от их расположения на сайте;
      • расположения файлов. Например, выражение ^/video/.*, которому соответствует URL https://mydomain.com/video/movie.mp4, применимо к файлам, расположенным в папке /video/;

      • имени, расширения и расположения файлов. Например, выражение ^/video/file[0-9]+\.avi, которому соответствует URL https://mydomain.com/video/file123.avi, применимо к файлам с именами file0, file19, file123 и т.п., расширением .avi и расположенным в папке /video/.

        Важно

        Если для CDN-ресурса добавлено несколько правил, а их шаблоны пересекаются, тогда для файлов, попадающих под эти шаблоны, применится верхнее правило из списка на вкладке Правила. Например, для CDN-ресурса создано два правила с шаблонами /folder/.* (первое правило в списке) и /folder/image.jpg (второе правило в списке). Тогда на файл /folder/image.jpg распространится первое правило.

    • Включить правило — активируйте переключатель, если нужно включить правило сразу после его сохранения.

    Источник:

    • Протокол взаимодействия с источником — протокол, который будет использоваться для обращения к источнику контента:
      • Наследовать с ресурса — протокол взаимодействия с источником, указанный в настройках CDN-ресурса;
      • HTTP — протокол передачи сообщений HTTP;
      • HTTPS — протокол передачи зашифрованных сообщений HTTPS;
      • Как у клиента — протокол взаимодействия с источником, такой же как у клиента;
    • Группа источников — источник контента. Выберите созданную группу источников или пункт Наследовать из настроек ресурса, чтобы использовать группу, как у CDN-ресурса.

    Заголовок Host — доменное имя, указываемое в заголовке Host запроса к серверу-источнику контента:

    • Своё значение — произвольное доменное имя. Укажите Значение заголовка, которое будет использоваться при запросе контента у источника;
    • Как у клиента — использовать значение заголовка Host, которое прислал клиент. 

    Заголовки запроса к источнику — заголовки с типом запрашиваемого контента для сервера-источника. Нажмите на кнопку + Добавить заголовок, если нужно добавить заголовок запроса источнику:

    • Название — название заголовка;
    • Значение — значение заголовка. Если значений несколько, укажите их через запятую.

    Заголовки ответа клиенту — заголовки, которые CDN-сервер добавляет в ответ клиенту. Нажмите на кнопку + Добавить заголовок и заполните поля:

    • Название — название заголовка;
    • Значение — значение заголовка. Если значений несколько, укажите их через запятую;
    • Всегда добавлять заголовок в ответ от CDN независимо от кода ответа — активируйте переключатель, если нужно добавить заголовок в ответ от CDN-сервера независимо от кода ответа. Если переключатель неактивирован, заголовок будет добавляться только в ответы с кодами 200, 201, 204, 206, 301, 302, 303, 304, 307, 308.

    CORS при ответе клиенту — разрешение кросс-доменных запросов (CORS) при ответе клиенту:

    • Заголовок Access-Control-Allow-Origin — активируйте переключатель, если нужно добавить заголовок Access-Control-Allow-Origin в ответ клиенту;
    • Значение:
      • *, для всех доменовотображение контента разрешается всем доменам;
      • $http_origin, для всех доменов — отображение контента разрешается всем доменам. В заголовке ответа передаётся домен, с которого пришёл запрос;
      • $http_origin, для следующих доменовотображение контента разрешается указанным доменам. Нажмите на кнопку + Добавить доменное имя и в поле Название укажите домен, для которого разрешается отображение контента. При необходимости укажите несколько доменов;
    • Всегда добавлять заголовок в ответ от CDN независимо от кода ответа — активируйте переключатель, если нужно добавить заголовок в ответ от CDN-сервера независимо от кода ответа. Если переключатель неактивирован, заголовок будет добавляться только в ответы с кодами 200, 201, 204, 206, 301, 302, 303, 304, 307, 308.

    Методы запросов от клиентов:

    • Разрешённые методыразрешённые HTTP-методы для запросов контента:
      • GET — запрос на получение контента;
      • HEAD — запрос заголовка, содержащего метаинформацию о контенте;
      • POST — запрос на отправку контента, не требующего создания новой записи или обновления существующей;
      • PUT — запрос на замену контента данными из запроса;
      • PATCH — запрос на внесение частичных изменений в контент;
      • DELETE — запрос на удаление указанного контента;
      • OPTIONSзапрос на получение доступных параметров HTTP-соединения.

    CDN — параметры кэширования в сети CDN-серверов:

    • Кэширование в CDNесли переключатель неактивирован, то для файлов, указанных в правиле, применяются настройки со вкладки Кэширование. Если переключатель активирован, то для файлов применяются параметры:
      • Настройки:
        • Как у источникаCDN-серверы при запросе контента с сервера-источника кэшируют контент на время, указанное в заголовке Cache-Control источника. Если на сервере-источнике отсутствует заголовок Cache-Control, CDN-серверы используют время хранения, указанное в поле Время жизни кэша по умолчанию, для кодов ответов 200, 201, 204, 206, 301, 302, 303, 304, 307, 308. Если требуется хранить кэш для запросов с другими кодами ответа или переопределить время хранения кэша для кодов ответов 200, 201, 204, 206, 301, 302, 303, 304, 307, 308, выберите Свои настройки;
        • Свои настройки — задать свои параметры кэширования. Нажмите на кнопку + Добавить HTTP-код ответа и заполните поля:
          • HTTP-код ответа — код состояния ответа HTTP;
          • Время жизни кэша для кода с ответамивремя хранения кэша для запросов с кодами ответа, отличными от кодов параметра Время жизни кэша по умолчанию или для переопределения некоторых из кодов. Если для одного HTTP-кода ответа указано разное время в полях Время жизни кэша по умолчанию и Время жизни кэша для кода с ответами, то будет учитываться только Время жизни кэша для кода с ответами;
      • Время жизни кэша по умолчанию время хранения кэша для запросов с кодами ответа 200, 206, 301, 302. Коды ответа 4xx и 5xx кэшироваться не будут.

        Важно

        Независимо от настроек контент удаляется из кэша CDN-серверов через 36 часов, если он не запрашивается конечными пользователями.

    Браузер:

    • Кэширование в браузереактивируйте переключатель для кэширования контента в браузере клиента;
    • Время жизни кэша по умолчанию — время хранения кэша в браузере клиента. 

    Дополнительно:

    • Игнорировать cookie — активируйте переключатель, чтобы сеть CDN-серверов не учитывала HTTP-заголовок Set-Cookie в запросах клиентом кэшированного контента;
    • Игнорировать query-параметры — активируйте переключатель, чтобы запросы с различными параметрами после знака ? в URL-адресе обрабатывались одинаково:
      • Все — правило должно срабатывать во всех случаях;
      • Все, кроме — в правиле имеются исключения. Чтобы указать их, нажмите на кнопку + Добавить параметр и укажите Ключ и его Значение;
      • Только — правило применимо только для указанных параметров. Нажмите на кнопку + Добавить параметр и укажите Ключ и его Значение.

    Контент при необходимости выберите параметр работы с доставляемым контентом. Можно выбрать только 1 параметр:

    • Gzip сжатие — активируйте переключатель, чтобы разрешить уменьшение объёма передаваемых данных. Подробнее см. в разделе Контент;
    • Сегментация больших файлов — активируйте переключатель, чтобы разрешить деление больших файлов на части для оптимизации нагрузки. Подробнее см. в разделе Контент;
    • Сжатие на источнике — активируйте переключатель, чтобы разрешить сжатие данных на стороне источника контента.
  5. Нажмите на кнопку Сохранить.

Созданное правило отобразится на портале:

Создание правила для видеосегментов

Правила применяются для кэширования потоковой трансляции видео, передаваемого по протоколу HLS. Протокол HLS работает по принципу разбиения цельного потока видео на небольшие фрагменты. Поток может быть непрерывным.

У CDN-ресурса может быть только 1 правило для видеосегментов со статусом Активно. Если у CDN-ресурса уже есть правило для видеосегментов со статусом Активно, то, чтобы создать новое, выключите или удалите правило.

Чтобы создать правило для видеосегментов:

  1. В контексте проекта перейдите на страницу подключенного CDN. На странице продукта отображается список ресурсов, созданных в контексте проекта.
  2. Выберите ресурс из списка и нажмите на кнопку .
  3. Откроется страница с настройками ресурса, перейдите на вкладку Правила. Вкладка содержит правила кэширования файлов ресурса:
  4. Нажмите на кнопку  и выберите, какое правило нужно создать:
  5. В открывшейся форме заполните поля:

    Протокол взаимодействия с источником  протокол, по которому CDN будет обращаться за контентом:

    • Наследовать с ресурса если файлы доступны по протоколу, который выбран в основных настройках CDN-ресурса;
    • HTTP если файлы доступны только по протоколу HTTP;
    • HTTPS если файлы доступны только по протоколу HTTPS;
    • Как у клиента протокол подключения определяется автоматически. Контент источника должен быть доступен для CDN по HTTP и HTTPS.

    Группа источников группа источников, из которой CDN будет забирать контент:

    • Наследовать из настроек ресурса если файлы доступны в группе источников, выбранной в основных настройках CDN-ресурса;
    • созданная группа источников если нужно использовать группу источников, отличную от выбранной в основных настройках CDN-ресурса.

    Кэширование в CDN  если переключатель неактивирован, то для файлов, указанных в правиле, применяются настройки со вкладки Кэширование. Если переключатель активирован, то для файлов применяются параметры:

    Настройки способ получения параметров кэширования:

    • Как у источника CDN при запросе контента с сервера-источника кэширует контент на время, указанное в заголовке Cache-Control источника. Если на сервере-источнике отсутствует заголовок Cache-Control, CDN использует время хранения, указанное в поле Время жизни кэша по умолчанию, для кодов ответов 200, 201, 204, 206, 301, 302, 303, 304, 307, 308. Если требуется хранить кэш для запросов с другими кодами ответа или переопределить время хранения кэша для кодов ответов 200, 201, 204, 206, 301, 302, 303, 304, 307, 308, выберите Свои настройки;
    • Свои настройки CDN-серверы запрашивают контент с источника и кэшируют его на время, заданное в правиле. При выборе данного значения появится возможность добавить HTTP-код ответа и выбрать для него время хранения кэша:

      Если для одного HTTP-кода ответа указано разное время в полях Время жизни кэша по умолчанию и Время жизни кэша для кода с ответами, то будет учитываться только Время жизни кэша для кода с ответами.

    Время жизни кэша по умолчанию  время хранения кэша для запросов с кодами ответов 200, 206, 301, 302. Коды ответов 4xx и 5xx кэшироваться не будут.

    Допустим, вы выбрали Свои настройки, в поле Время жизни кэша по умолчанию указали «4 дня» и выбрали время для двух HTTP-кодов ответа:

    В результате настроек запросы будут кэшироваться следующим образом:

    • запросы с кодом ответа 200 - 1 минута;
    • запросы с кодом ответа 404 - 10 минут;
    • запросы с кодом ответа 206, 301, 302 - 4 дня;
    • 4хх (кроме 404), 5хх - кэшироваться не будут.

    Важно

    Независимо от значения поля Время жизни кэша по умолчанию контент удаляется из кэша CDN-серверов через 36 часов, если он не запрашивается конечными пользователями.

    По умолчанию время кэширования файлов видеосегментов (.ts) - 1 минута. Такое значение кэширования превышает продолжительность чанка и помогает справиться с проблемой медленного интернет-соединения пользователей. Пользователи могут получить устаревший плейлист со списком чанков от CDN, хотя на источнике, возможно, лежит новый плейлист с новыми чанками. Если установлено время кэширования чанков менее 1 минуты, браузер пользователя отправит запрос на устаревший чанк из устаревшего плейлиста и получит код ответа 404, потому что на источнике такого файла уже нет.

  6. Нажмите на кнопку Создать.

Создание правила для плейлистов

Плейлист представляет собой список видеосегментов (чанков) для воспроизведения. При подключении пользователя к просмотру видеотрансляции HLS, видеоплеер периодически запрашивает плейлист, содержащий ссылки на видеосегменты, и загружает их через CDN-серверы. Таким образом пользователю воспроизводится закэшированный видеопоток из этого плейлиста.

В начале сессии скачивается плейлист в формате m3u8, содержащий данные о видеосегментах с расширением .ts, а затем поочерёдно скачиваются файлы с видеосегментами. Файлы .ts называют «чанками» (chunks). В конечной точке доставки переданные файлы формируются в полноценный поток, доступный для воспроизведения.

У CDN-ресурса может быть только 1 правило для плейлистов со статусом Активно. Если у CDN-ресурса уже есть правило для плейлистов со статусом Активно, то, чтобы создать новое, выключите или удалите правило. Форма создания правила для плейлистов аналогична форме для видеосегментов.

По умолчанию время кэширования плейлистов (.m3u8) - 2 секунды. Если установлен короткий период кэширования, пользователи не будут получать плейлисты со старыми чанками из кэша.

Действия с правилами

Редактирование правила

Чтобы отредактировать правило:

  1. В главном меню портала перейдите в раздел Ресурсы  Cloud CDN.
  2. Выберите ресурс и откройте вкладку Правила.
  3. В строке с правилом, которое нужно отредактировать, нажмите на кнопку Редактировать.
  4. Измените правило:
  5. Нажмите на кнопку Сохранить.

Включение правила

Чтобы включить правило:

  1. В главном меню портала перейдите в раздел Ресурсы  Cloud CDN.
  2. Выберите CDN-ресурс и откройте вкладку Правила.
  3. В строке с правилом, которое нужно включить, нажмите на кнопку Редактировать.
  4. Активируйте переключатель Включить правило.
  5. Нажмите на кнопку СохранитьСтатус правила изменится на Активно.

Выключение правила

Чтобы выключить существующее правило:

  1. В главном меню портала перейдите в раздел Ресурсы  Cloud CDN.
  2. Выберите CDN-ресурс и откройте вкладку Правила.
  3. В строке с правилом, которое нужно выключить, нажмите на кнопку Редактировать.
  4. Деактивируйте переключатель Включить правило.
  5. Нажмите на кнопку Сохранить. Статус правила изменится на Приостановлено.

При выключении правила кэширование осуществляется по настройкам, заданным на вкладке Кэширование.

Удаление правила

Чтобы удалить правило:

  1. В главном меню портала перейдите в раздел Ресурсы  Cloud CDN.
  2. Выберите CDN-ресурс и откройте вкладку Правила.
  3. В строке с правилом, которое нужно удалить, нажмите на кнопку .
  4. Нажмите на кнопку Удалить.