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

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

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

Внимание

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

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

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 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 — это распространенный метод, используемый для идентификации исходного узла, запрошенного клиентом в заголовке HTTP-запроса узла. Это связано с тем, что имя узла из Azure Front Door может отличаться для серверного сервера, обрабатывая запрос. Любое предыдущее значение переопределяется Azure Front Door.
X-Forwarded-Proto X-Forwarded-Proto: http
Тем X-Forwarded-Proto Поле заголовка 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, недопустимый сертификат и т. д.).

Следующие шаги