Управлять заголовком Host при запросе к источнику контента
CDN запрашивает контент у источника контента — сервера, на котором размещен сайт или файлы.
При запросе к источнику контента CDN передает в HTTP-заголовке Host домен, чтобы сервер мог отдать контент с нужного домена. По умолчанию передается домен сайта, с которого пришел запрос.
Если источник контента находится на платформе, где один сервер обслуживает несколько доменов (например, S3), нужно указать Hostname источника контента — адрес источника, по которому CDN будет обращаться за контентом. Если не указать Hostname, сервер не сможет определить, какой именно домен запрашивает пользователь, и вернет ошибку.
Если ваш сервер обслуживает несколько доменов, вы можете передавать Host-заголовок от пользователя.
Указать Hostname источника контента
Нельзя одновременно указать Hostname и передать Host-заголовок от пользователя.
-
В панели управления в верхнем меню нажмите Продукты и выберите CDN.
-
В разделе CDN-ресурсы откройте страницу ресурса → вкладка Источник.
-
В блоке Hostname укажите адрес источника контента — имя домена без указания протокола. Можно добавить порт, например
example.com:443. -
Нажмите Применить. Во время применения настроек ресурс будет находиться в статусе
PROCESSING. В это время применение других настроек недоступно. Настройки применятся, когда ресурс перейдет в статусACTIVE. -
Проверьте, что значение заголовка разрешено со стороны вашего веб-сервера, где находится контент домена. Если заголовок не разрешен, запрос будет возвращать ошибку
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 источника контента.
-
В панели управления в верхнем меню нажмите Продукты и выберите CDN.
-
В разделе CDN-ресурсы откройте страницу ресурса → вкладка Источник.
-
В блоке Hostname отметьте чекбокс Передавать исходный Host-заголовок.
-
Нажмите Применить. Во время применения настроек ресурс будет находиться в статусе
PROCESSING. В это время применение других настроек недоступно. Настройки применятся, когда ресурс перейдет в статусACTIVE. -
Проверьте, что значение заголовка разрешено со стороны вашего веб-сервера, где находится контент домена. Если заголовок не разрешен, запрос будет возвращать ошибку
400 Bad Requestили403 Forbidden Response.Пример запроса для проверки:
$ curl -H "Host: <domain>" -I <ip_address>Укажите:
<domain>— имя домена без указания протокола, напримерexample.com;<ip_address>— IP-адрес источника с указанием протокола, напримерhttps//:192.168.1.1.