Yandex Cloud
Поиск
Связаться с намиПопробовать бесплатно
  • Истории успеха
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
  • Marketplace
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Искусственный интеллект
    • Безопасность
    • Инструменты DevOps
    • Бессерверные вычисления
    • Управление ресурсами
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Калькулятор цен
    • Тарифы
    • Акции и free tier
  • Истории успеха
  • Документация
  • Блог
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ООО «Яндекс.Облако»
Yandex Cloud CDN
  • Начало работы
    • Все инструкции
      • Создать ресурс
      • Копировать конфигурацию одного ресурса в другой
      • Изменить основные настройки ресурса
      • Получить информацию о ресурсе
      • Настроить кеширование ресурса
      • Настроить выгрузку логов
      • Предзагрузить файлы на CDN-серверы
      • Очистить кеш ресурса
      • Настроить заголовки запросов и ответов
      • Настроить CORS при ответах клиентам
      • Настроить HTTP-методы
      • Включить сжатие файлов
      • Включить сегментацию файлов
      • Включить экранирование источников
      • Настроить перенаправление запросов
      • Настроить следование перенаправлениям запросов
      • Настроить доступ по защищенному токену
      • Настроить локационные правила
      • Отключить ресурс
      • Управление метками ресурса
      • Удалить ресурс
      • Посмотреть статистику ресурса
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Логи запросов
  • Аудитные логи Audit Trails
  • История изменений
  • Решение проблем
  1. Пошаговые инструкции
  2. Ресурсы
  3. Настроить следование перенаправлениям запросов

Настройка следования перенаправлениям запросов

Статья создана
Yandex Cloud
Обновлена 3 февраля 2026 г.

Вы можете выключить следование перенаправлениям запросов с помощью API при создании или изменении CDN-ресурса.

Примечание

Опция работает только при включенной функции экранирования источников.

REST API
gRPC API

Чтобы включить опцию, добавьте блок followRedirects при использовании метода create или update для ресурса Resource:

"followRedirects": {
  "enabled": "<true_или_false>",
  "codes": [
    "<список_кодов>"
  ],
  "useCustomHost": "<true_или_false>"
}

Где:

  • enabled — включение опции:

    • true — включить опцию.
    • false — отключить опцию.
  • codes — список кодов перенаправления, по которым Cloud CDN будет следовать. Возможные значения:

    • 301 — Moved Permanently (перемещено навсегда).
    • 302 — Found (найдено).
    • 303 — See Other (смотреть другое).
    • 307 — Temporary Redirect (временное перенаправление).
    • 308 — Permanent Redirect (постоянное перенаправление).
  • useCustomHost — управление заголовком Host:

    • true — использовать заголовок Host от основного источника. Например, если источник example.com вернет редирект на ya.ru, запрос будет сделан с Host: example.com.
    • false — использовать заголовок Host от домена перенаправления. Например, если источник example.com вернет редирект на ya.ru, запрос будет сделан с Host: ya.ru.

Чтобы включить опцию, добавьте блок follow_redirects при использовании вызова ResourceService/Create или ResourceService/Update:

"follow_redirects": {
  "enabled": "<true_или_false>",
  "codes": [
    "<список_кодов>"
  ],
  "use_custom_host": "<true_или_false>"
}

Где:

  • enabled — включение опции:

    • true — включить опцию.
    • false — отключить опцию.
  • codes — список кодов перенаправления, по которым Cloud CDN будет следовать. Возможные значения:

    • 301 — Moved Permanently (перемещено навсегда).
    • 302 — Found (найдено).
    • 303 — See Other (смотреть другое).
    • 307 — Temporary Redirect (временное перенаправление).
    • 308 — Permanent Redirect (постоянное перенаправление).
  • use_custom_host — управление заголовком Host:

    • true — использовать заголовок Host от основного источника. Например, если источник example.com вернет редирект на ya.ru, запрос будет сделан с Host: example.com.
    • false — использовать заголовок Host от домена перенаправления. Например, если источник example.com вернет редирект на ya.ru, запрос будет сделан с Host: ya.ru.

ПримерПример

В этом примере создается CDN-ресурс для интернет-магазина, который использует несколько доменов. Основной источник shop.example.com может перенаправлять запросы на cdn-content.example.net для оптимизации доставки статических файлов. Здесь разрешено следование редиректам для кодов 301 и 302 с сохранением оригинального заголовка Host для корректной обработки запросов.

  1. Получите IAM-токен для аутентификации в API и запишите его в переменную:

    export IAM_TOKEN=`yc iam create-token`
    
  2. Создайте CDN-ресурс с разрешенным следованием перенаправлениям запросов:

    cURL
    gRPCurl
    curl \
      --request POST \
      --header "Authorization: Bearer $IAM_TOKEN" \
      --header "Content-Type: application/json" \
      --url 'https://cdn.api.cloud.yandex.net/cdn/v1/resources' \
      --data '{
        "folderId": "b12m81qm6abc********",
        "cname": "cdn-shop.example.com",
        "origin": {
          "originSourceParams": {
            "source": "shop.example.com",
            "meta": {
              "common": { "name": "shop.example.com" }
            }
          }
        },
        "originProtocol": "HTTPS",
        "options": {
          "followRedirects": {
            "enabled": true,
            "codes": ["301", "302"],
            "useCustomHost": true
          }
        }
      }'
    

    Результат:

    {
    "done": true,
    "metadata": {
      "@type": "type.googleapis.com/yandex.cloud.cdn.v1.CreateResourceMetadata",
      "resourceId": "bc8rt2ynimae********"
    },
    "response": {
      ...
      "followRedirects": {
        "enabled": true,
        "codes": [
        "301",
        "302"
        ],
        "useCustomHost": true
      }
      },
      ...
    "id": "bc82j4x6n6pb********",
    "description": "Create resource",
    "createdAt": "2026-02-03T09:27:51.714683Z",
    "createdBy": "aje9k8luj4qf********",
    "modifiedAt": "2026-02-03T09:27:51.714683Z"
    }
    
    grpcurl \
      -format json \
      -import-path ~/cloudapi/ \
      -import-path ~/cloudapi/third_party/googleapis/ \
      -proto ~/cloudapi/yandex/cloud/cdn/v1/resource_service.proto \
      -rpc-header "Authorization: Bearer $IAM_TOKEN" \
      -d '{
            "folder_id": "b12m81qm6abc********",
            "cname": "cdn-shop.example.com",
            "origin": {
              "origin_source_params": {
                "source": "shop.example.com",
                "meta": {
                  "common": { "name": "shop.example.com" }
                }
              }
            },
            "origin_protocol": "HTTPS",
            "options": {
              "follow_redirects": {
                "enabled": true,
                "codes": ["301", "302"],
                "use_custom_host": true
              }
            }
          }' \
      cdn.api.cloud.yandex.net:443 \
      yandex.cloud.cdn.v1.ResourceService/Create
    

    Результат:

    {
      "id": "bc87tcdmptuy********",
      "description": "Create resource",
      "createdAt": "2026-02-03T09:09:04.967980Z",
      "createdBy": "aje8m8lur3qf********",
      "modifiedAt": "2026-02-03T09:09:04.967980Z",
      "done": true,
      "metadata": {"@type":"type.googleapis.com/yandex.cloud.cdn.v1.CreateResourceMetadata","resourceId":"bc8rskqqnd23********"},
      "response": {"@type":"type.googleapis.com/yandex.cloud.cdn.v1.Resource","active":true,"cname":"altaraskin.online","createdAt":"2026-02-03T09:09:04.808428Z","folderId":"b1g652qoimb4********","id":"bc8rskqqnd23********","options":{ ... "followRedirects":{"enabled":true,"codes":["301","302"],"useCustomHost":true}}, ... }
    }
    
  3. Включите экранирование источников:

    Консоль управления
    gRPCurl
    1. В консоли управления выберите каталог, в котором расположен ресурс.
    2. Перейдите в сервис Cloud CDN.
    3. Нажмите на имя необходимого ресурса.
    4. Перейдите на вкладку Экранирование источников.
    5. В правом верхнем углу включите опцию экранирования источников.
    6. В окне Настройки экранирования в поле Локация выберите необходимую локацию.
    7. Нажмите кнопку Включить.

    После включения статус экранирования изменится с Not activated на Active.

    grpcurl \
      -import-path ~/cloudapi/ \
      -import-path ~/cloudapi/third_party/googleapis/ \
      -proto ~/cloudapi/yandex/cloud/cdn/v1/shielding_service.proto \
      -rpc-header "Authorization: Bearer $IAM_TOKEN" \
      -d '{
            "resource_id": "bc8rskqqnd23********",
            "location_id": "1"
          }' \
      cdn.api.cloud.yandex.net:443 \
      yandex.cloud.cdn.v1.ShieldingService/Activate
    

    Результат:

    {
      "id": "bc8yiwltf3hg********",
      "description": "Activate Origin Shielding",
      "createdAt": "2026-02-03T09:13:43.226165Z",
      "createdBy": "aje9k8luj4qf********",
      "modifiedAt": "2026-02-03T09:13:43.226165Z",
      "done": true,
      "metadata": {"@type":"type.googleapis.com/yandex.cloud.cdn.v1.ActivateShieldingMetadata","resourceId":"bc8rskqqnd23********"},
      "response": {"@type":"type.googleapis.com/yandex.cloud.cdn.v1.ShieldingDetails","city":"Moscow","country":"Russia","dataCenter":"msk","locationId":"1"}
    }
    

Была ли статья полезна?

Предыдущая
Настроить перенаправление запросов
Следующая
Настроить доступ по защищенному токену
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ООО «Яндекс.Облако»