Front Door Service не сертифицирует никаких HTTP-заголовков, которые здесь не описаны. Front Door Service принимает большинство заголовков из входящего запроса, не изменяя их. Узнайте больше о заголовках HTTP, поддерживаемых Front Door .
Служба входной двери Azure поддерживает X-Forwarded-For,
Заголовки X-Forwarded-Host и X-Forwarded-Proto. Для X-Forwarded-For
если заголовок уже присутствовал, то Front Door добавляет клиента
сокет IP к нему. Иначе, это добавляет заголовок с IP-адресом клиентского сокета как
Значение. Для X-Forwarded-Host и X-Forwarded-Proto значение равно
переопределяется.
Я хотел бы предложить проверить, работает ли аутентификация клиента TLS без входной двери Azure, а затем снова добавить службу входной двери перед приложением.
Чтобы настроить ваше приложение на получение клиентских сертификатов, вам нужно установить для clientCertEnabled
для вашего приложения значение true
в Azure CLI или облачной оболочке.
az webapp update --set clientCertEnabled=true --name <app_name> --resource-group <group_name>
Вы также можете включить аутентификацию клиента по этому пути: служба приложений --- настройки --- конфигурация --- Входящие клиентские сертификаты --- Требовать входящий сертификат --- Пути исключения сертификатов на портале Azure.
Примечание : Служба приложений ничего не делает с этим клиентским сертификатом, кроме пересылки его в ваше приложение. Код вашего приложения отвечает за проверку сертификата клиента.
Для ASP.NET сертификат клиента доступен через свойство HttpRequest.ClientCertificate
.
Для других стеков приложений (Node.js, PHP и т. Д.) Клиентский сертификат доступен в вашем приложении через закодированное в base64 значение в заголовке запроса X-ARR-ClientCert
.
Ссылка: Настройка взаимной проверки подлинности TLS для службы приложений Azure .