Перейти к основному содержимому

Управлять заголовком Host при запросе к источнику контента

Последнее изменение:

CDN запрашивает контент у источника контента — сервера, на котором размещен сайт или файлы.

При запросе к источнику контента CDN передает в HTTP-заголовке Host домен, чтобы сервер мог отдать контент с нужного домена. По умолчанию передается домен сайта, с которого пришел запрос.

Если источник контента находится на платформе, где один сервер обслуживает несколько доменов (например, S3), нужно указать Hostname источника контента — адрес источника, по которому CDN будет обращаться за контентом. Если не указать Hostname, сервер не сможет определить, какой именно домен запрашивает пользователь, и вернет ошибку.

Если ваш сервер обслуживает несколько доменов, вы можете передавать Host-заголовок от пользователя.

Указать Hostname источника контента

Нельзя одновременно указать Hostname и передать Host-заголовок от пользователя.

  1. В панели управления в верхнем меню нажмите Продукты и выберите CDN.

  2. В разделе CDN-ресурсы откройте страницу ресурса → вкладка Источник.

  3. В блоке Hostname укажите адрес источника контента — имя домена без указания протокола. Можно добавить порт, например example.com:443.

  4. Нажмите Применить. Во время применения настроек ресурс будет находиться в статусе PROCESSING. В это время применение других настроек недоступно. Настройки применятся, когда ресурс перейдет в статус ACTIVE.

  5. Проверьте, что значение заголовка разрешено со стороны вашего веб-сервера, где находится контент домена. Если заголовок не разрешен, запрос будет возвращать ошибку 400 Bad Request или 403 Forbidden Response.

    Пример запроса для проверки:

    $ curl -H "Host: <domain>" -I <ip_address>

    Укажите:

    • <domain> — имя домена без указания протокола, например example.com;
    • <ip_address> — IP-адрес источника с указанием протокола, например https//:192.168.1.1.

Передать Host-заголовок от пользователя

Нельзя одновременно передать Host-заголовок от пользователя и указать Hostname источника контента.

  1. В панели управления в верхнем меню нажмите Продукты и выберите CDN.

  2. В разделе CDN-ресурсы откройте страницу ресурса → вкладка Источник.

  3. В блоке Hostname отметьте чекбокс Передавать исходный Host-заголовок.

  4. Нажмите Применить. Во время применения настроек ресурс будет находиться в статусе PROCESSING. В это время применение других настроек недоступно. Настройки применятся, когда ресурс перейдет в статус ACTIVE.

  5. Проверьте, что значение заголовка разрешено со стороны вашего веб-сервера, где находится контент домена. Если заголовок не разрешен, запрос будет возвращать ошибку 400 Bad Request или 403 Forbidden Response.

    Пример запроса для проверки:

    $ curl -H "Host: <domain>" -I <ip_address>

    Укажите:

    • <domain> — имя домена без указания протокола, например example.com;
    • <ip_address> — IP-адрес источника с указанием протокола, например https//:192.168.1.1.