---
title: 'Управлять заголовком Host при запросе к источнику контента'
sidebar_label: 'Управлять заголовком Host'
description: 'Как управлять заголовком Host при запросе к источнику контента'
sidebar_position: 4
---

import Formbricks from '@theme/MDXComponents/Formbricks'

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

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

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

Если источник контента находится на платформе, где один сервер обслуживает несколько доменов (например, [S3](/s3/)), нужно [указать `Hostname` источника контента](#set-content-source-hostname) — адрес источника, по которому CDN будет обращаться за контентом. Если не указать `Hostname`, сервер не сможет определить, какой именно домен запрашивает пользователь, и вернет ошибку.

Если ваш сервер обслуживает несколько доменов, вы можете [передавать Host-заголовок от пользователя](#pass-user-host-header).

## Указать Hostname источника контента \{#set-content-source-hostname}

Нельзя одновременно указать Hostname и [передать Host-заголовок от пользователя](#pass-user-host-header).

1. В [панели управления](https://my.selectel.ru/cdn-v3) в верхнем меню нажмите **Продукты** и выберите **CDN**.

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

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

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

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

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

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

   Укажите:

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

## Передать Host-заголовок от пользователя \{#pass-user-host-header}

Нельзя одновременно передать Host-заголовок от пользователя и указать [Hostname источника контента](#set-content-source-hostname).

1. В [панели управления](https://my.selectel.ru/cdn-v3) в верхнем меню нажмите **Продукты** и выберите **CDN**.

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

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

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

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

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

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

   Укажите:

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

<Formbricks />
