[Документация Yandex Cloud](../../../index.md) > [Yandex Cloud CDN](../../index.md) > [Пошаговые инструкции](../index.md) > Ресурсы > Настроить локационные правила

# Настроить локационные правила Yandex Cloud CDN

_Локационные правила_ — это механизм точечного переопределения настроек [CDN-ресурса](../../concepts/resource.md) для запросов, пути которых соответствуют заданному шаблону.

> Например, в настройках CDN-ресурса включено [кеширование контента](../../concepts/caching.md), а время жизни кеша составляет 4 дня. Для большей части контента этого достаточно, однако для некоторых специфичных файлов нужно уменьшить время жизни кеша до нескольких секунд. Для решения подобных задач применяются локационные правила.

[Подробнее о локационных правилах](../../concepts/location-rules.md)

Чтобы настроить локационное правило:
1. [Создайте](#create) правило.
1. [Задайте](#setup) дополнительные параметры.

## Создать локационное правило {#create}

{% list tabs group=instructions %}

- Консоль управления {#console}

  1. В [консоли управления](https://kz.console.yandex.cloud) выберите каталог, в котором расположен ресурс.
  1. Перейдите в сервис **Cloud CDN**.
  1. Нажмите на имя нужного CDN-ресурса.
  1. Выберите вкладку ![image](../../../_assets/console-icons/map-pin-plus.svg) **Локационные правила**.
  1. В правом верхнем углу нажмите **Добавить правило**.
  1. В блоке **Обзор** задайте основные параметры локационного правила:
      * **Имя**.

        В имени правила можно использовать строчные латинские буквы, цифры, подчеркивание, дефис и пробел; максимальная длина — 50 символов.
      * **Вес правила** — приоритет срабатывания правила. Чем меньше вес правила, тем выше его приоритет в конфигурации ресурса пользователя. Если у нескольких правил будет одинаковый вес, то они будут применяться в произвольном порядке.

        <br>

        > Например, задаются следующие локационные правила:
        >
        > | Правило | Вес | Регулярное выражение | Время жизни кеша |
        > | --- | --- | --- | --- |
        > | А | `1` | `^/path/.+` | `1 час` |
        > | Б | `2` | `\.txt$` | `4 часа` |
        >
        > При такой конфигурации запрос `/path/file.txt` будет попадать под правило А (меньше вес — выше приоритет) и не доходить до правила Б, поэтому файл будет закеширован на 1 час.
        >
        > Чтобы закешировать файл `/path/file.txt` на 4 часа, вес правила Б должен быть меньше веса правила А.

  1. В блоке **Условие применения** задайте **Регулярное выражение** — шаблон пути URI, на соответствие которому проверяются запросы. При успешном совпадении применяются настройки, специфичные именно для этого локационного правила.

      {% note tip %}
      
      Чтобы в регулярном выражении явно обозначить начало или конец строки, по которым должно быть совпадение, используйте якорные символы `^` и `$`.
      
      {% endnote %}

  1. Задайте настройки CDN-ресурса, которые вы хотите переопределить с помощью локационного правила:
      * **Кеширование в CDN** — временное хранение копий файлов из источников. Подробнее на странице [Настройка кеширования ресурса](configure-caching.md).
      * **Перенаправление запросов** — перенастройка пути запросов к контенту. Полезно при изменении структуры файлов и папок на источнике. Кроме того, перенаправление запросов можно использовать, если при переезде ресурса на новый адрес вы хотите сохранить ранжирование вашего контента в поисковых системах. Подробнее на странице [Настройка перенаправления запросов](setup-http-rewrite.md).
      * **Доступ по защищённому токену** — ограничение прямого доступа к контенту. Доступ к файлам будет осуществляться по подписанным ссылкам с ограниченным сроком действия. Подробнее на странице [Настройка доступа по защищенному токену](enable-secure-token.md).
      * **Доступ по IP-адресам** — ограничение доступа к контенту с помощью разрешающей или блокирующей политики. Подробнее на странице [Изменение основных настроек ресурса](configure-basics.md).

      {% note info %}
      
      Настройки HTTP-заголовков и методов, CORS, сжатия и сегментации контента, а также дополнительных параметров кеширования контента доступны после создания локационного правила. Подробнее в разделе [Задать дополнительные параметры](location-rules.md#setup).
      
      {% endnote %}

  1. Нажмите **Создать**.

- API {#api}

  Воспользуйтесь методом REST API [create](../../api-ref/ResourceRules/create.md) для ресурса [ResourceRules](../../api-ref/ResourceRules/index.md) или вызовом gRPC API [ResourceRulesService/Create](../../api-ref/grpc/ResourceRules/create.md).

{% endlist %}

## Задать дополнительные параметры {#setup}

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

{% list tabs group=instructions %}

- Консоль управления {#console}

  1. В [консоли управления](https://kz.console.yandex.cloud) выберите каталог, в котором расположен ресурс.
  1. Перейдите в сервис **Cloud CDN**.
  1. Нажмите на имя нужного CDN-ресурса.
  1. Выберите вкладку ![image](../../../_assets/console-icons/map-pin-plus.svg) **Локационные правила**.
  1. Нажмите на имя нужного локационного правила.
  1. Задайте дополнительные параметры правила:

      * Чтобы настроить дополнительные параметры кеширования контента, перейдите на вкладку ![image](../../../_assets/console-icons/cloud.svg) **Кеширование** и нажмите ![image](../../../_assets/console-icons/pencil.svg) **Редактировать**. Подробнее на странице [Настройка кеширования ресурса](configure-caching.md).
      * Чтобы настроить HTTP-заголовки запросов и ответов, CORS при ответах клиентам и разрешенные HTTP-методы запросов от клиентов, перейдите на вкладку ![image](../../../_assets/console-icons/arrow-up-to-line.svg) **HTTP-заголовки и методы** и нажмите ![image](../../../_assets/console-icons/pencil.svg) **Редактировать**. Подробнее на страницах:
          * [Настройка HTTP-заголовков запросов и ответов](configure-headers.md)
          * [Настройка CORS при ответах клиентам](configure-cors.md)
          * [Настройка HTTP-методов](configure-http.md)
      * Чтобы настроить сжатие и сегментацию файлов, перейдите на вкладку ![image](../../../_assets/console-icons/box.svg) **Контент** и нажмите ![image](../../../_assets/console-icons/pencil.svg) **Редактировать**. Подробнее на страницах:
          * [Включение сжатия файлов](enable-compression.md)
          * [Включение сегментации файлов](enable-segmentation.md)

      Отредактируйте параметры на нужной вкладке и нажмите **Сохранить**.

- API {#api}

  Воспользуйтесь методом REST API [update](../../api-ref/ResourceRules/update.md) для ресурса [ResourceRules](../../api-ref/ResourceRules/index.md) или вызовом gRPC API [ResourceRulesService/Update](../../api-ref/grpc/ResourceRules/update.md).

{% endlist %}

#### Полезные ссылки {#see-also}

* [Локационные правила Yandex Cloud CDN](../../concepts/location-rules.md)
* [Настройка кеширования ресурса](configure-caching.md)
* [Настройка перенаправления запросов](setup-http-rewrite.md)
* [Настройка доступа по защищенному токену](enable-secure-token.md)
* [Изменение основных настроек ресурса](configure-basics.md)