Поделиться через


Поддержка протокола для заголовков HTTP в Azure Front Door

В этой статье описывается протокол, который Front Door поддерживает для частей маршрута вызова (см. изображение). В следующих разделах вы найдете сведения о заголовках HTTP, поддерживаемых Front Door.

Схема, на которой показан запрос клиента в Azure Front Door, который перенаправляется в серверную часть. Ответ отправляется из Azure Front Door клиенту.

Внимание

Azure Front Door не сертифицирует заголовки HTTP, которые не описаны в этой статье.

От клиента до входной двери

Azure Front Door принимает большинство заголовков для входящего запроса, не изменяя их. При отправке некоторые зарезервированные заголовки удаляются из входящего запроса, включая заголовки с X-FD-* префиксом.

Заголовок запроса отладки X-Azure-DebugInfo предоставляет дополнительную информацию об отладке Front Door. Необходимо отправить X-Azure-DebugInfo: 1 заголовок запроса от клиента в Azure Front Door, чтобы получить необязательные заголовки ответа при ответе Azure Front Door клиенту.

От Front Door к серверной части

Azure Front Door включает заголовки для входящего запроса, если они не удалены из-за ограничений. Azure Front Door также добавляет следующие заголовки:

Верхний колонтитул Пример и описание
Через Via: 1.1 Azure
Front Door добавляет http-версию клиента, за которой следует Azure в качестве значения заголовка Via. Этот заголовок указывает версию HTTP клиента, и Front Door является промежуточным получателем для запроса между клиентом и серверной частью.
X-Azure-ClientIP X-Azure-ClientIP: 127.0.0.1
Представляет IP-адрес клиента, связанный с обрабатываемыми запросами. Например, запрос, поступающий от прокси-сервера, может добавить заголовок X-Forwarded-For, чтобы указать IP-адрес исходного вызывающего объекта.
X-Azure-SocketIP X-Azure-SocketIP: 127.0.0.1
Представляет IP-адрес сокета, связанный с TCP-подключением, из которого был получен текущий запрос. Значение IP-адреса клиента запроса не может совпадать со значением IP-адреса сокета, поскольку IP-адрес клиента может быть произвольно перезаписан пользователем.
X-Azure-Ref X-Azure-Ref: 0zxV+XAAAAABKMMOjBv2NT4TY6SQVjC0zV1NURURHRTA2MTkANDM3YzgyY2QtMzYwYS00YTU0LTk0YzMtNWZmNzA3NjQ3Nzgz
Уникальная справочная строка, определяющая запрос, обслуживаемый Azure Front Door. Эта строка используется для поиска в журналах доступа и является критически важной для устранения неполадок.
X-Azure-RequestChain X-Azure-RequestChain: hops=1
Заголовок, который Front Door использует для обнаружения циклов запросов, и пользователи не должны принимать от него зависимость.
X-Azure-FDID X-Azure-FDID: a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1
Строка ссылки, идентифицирующая запрос, поступила из определенного ресурса Front Door. Значение можно увидеть на портале Azure или получить с помощью API-интерфейса управления. Этот заголовок можно использовать в сочетании со списками ACL IP-адресов, чтобы ограничить доступ к вашей конечной точке и разрешать запросы только от конкретного ресурса Front Door. Дополнительные сведения см. в разделе часто задаваемых вопросов.
X-Forwarded-For X-Forwarded-For: 127.0.0.1
Поле заголовка HTTP X-Forwarded-For (XFF) часто определяет исходный IP-адрес клиента, подключающегося к веб-серверу через прокси-сервер HTTP или подсистему балансировки нагрузки. Если имеется существующий заголовок XFF, то Front Door добавляет к нему IP-адрес сокета клиента или добавляет заголовок XFF с IP-адресом сокета клиента.
X-Forwarded-Host X-Forwarded-Host: contoso.azurefd.net
Поле заголовка HTTP X-Forwarded-Host — это распространенный метод, используемый для идентификации исходного хоста, запрошенного клиентом в заголовке Host HTTP-запроса. Это связано с тем, что имя узла из Azure Front Door может отличаться для серверной части, обрабатывающей запрос. Все предыдущие значения переопределяются Azure Front Door.
X-Forwarded-Proto X-Forwarded-Proto: http
Поле заголовка HTTP часто используется для определения исходного протокола HTTP-запроса. Front Door на основе конфигурации может взаимодействовать с серверной частью с помощью протокола HTTPS. Это справедливо даже если запрос к обратному прокси-серверу выполняется по протоколу HTTP. Front Door переопределяет любое ранее заданное значение.
X-FD-HealthProbe X-FD-HealthProbe Поле заголовка HTTP используется для идентификации проверки работоспособности в системе Front Door. Если этот заголовок имеет значение 1, значит запрос поступил от пробы работоспособности. Его можно использовать для ограничения доступа через Front Door с заданным значением поля заголовка X-Forwarded-Host.

От Front Door до клиента

Все заголовки, отправленные в Azure Front Door из серверной части, также передаются клиенту. Front Door также присоединяет следующие заголовки ко всем ответам клиента:

Верхний колонтитул Пример и описание
X-Azure-Ref X-Azure-Ref: 0zxV+XAAAAABKMMOjBv2NT4TY6SQVjC0zV1NURURHRTA2MTkANDM3YzgyY2QtMzYwYS00YTU0LTk0YzMtNWZmNzA3NjQ3Nzgz
Это уникальная ссылочная строка, которая определяет запрос, обслуживаемый Front Door, который является критически важным для устранения неполадок, так как он используется для поиска журналов доступа.
X-Cache X-Cache: В этом заголовке описывается состояние кэширования запроса. Дополнительные сведения см. в статье Кэширование с помощью Azure Front Door.

Необязательные заголовки ответа по отладке

Чтобы включить следующие необязательные заголовки ответа, необходимо отправить X-Azure-DebugInfo: 1 заголовок запроса.

Верхний колонтитул Пример и описание
X-Azure-OriginStatusCode X-Azure-OriginStatusCode: 503
Этот заголовок содержит код состояния HTTP, возвращаемый серверной частью. С помощью этого заголовка можно задать код состояния HTTP, который возвращает приложение, запущенное в серверной части, без просмотра внутренних журналов. Этот код состояния может отличаться от кода состояния HTTP в ответе, отправляемом клиенту через Front Door. Этот заголовок позволяет определить, проблема связана с сервером или со службой Front Door.
X-Azure-InternalError Этот заголовок содержит код ошибки, с которыми сталкивается Azure Front Door при обработке запроса. Эта ошибка указывает, что проблема является внутренней для службы или инфраструктуры Azure Front Door. Сообщите о проблемах в службу поддержки.
X-Azure-ExternalError X-Azure-ExternalError: 0x830c1011, The certificate authority is unfamiliar
В этом заголовке показан код ошибки, на который приходят серверы Front Door при установке подключения к внутреннему серверу для обработки запроса. Этот заголовок помогает выявить проблемы в соединении между Front Door и серверным приложением. Этот заголовок содержит подробное сообщение об ошибке для выявления проблем с подключением к серверной части (например, разрешение DNS, недопустимый сертификат и т. д.).