Поддерживает ли входная дверь Azure аутентификацию клиента TLS - PullRequest
2 голосов
/ 26 апреля 2019

Я пытаюсь разместить существующее приложение, которое использует аутентификацию клиента TLS, за парадной дверью. В то время как другие заголовки X-ARR присутствуют, X-ARR-ClientCert нет. Есть ли настройка для управления этим поведением или Front Door не поддерживает аутентификацию клиента, как на этот раз?

Ответы [ 2 ]

0 голосов
/ 30 апреля 2019

По другим каналам мы получили официальное сообщение о том, что аутентификация клиента TLS в настоящее время не поддерживается через парадную дверь. Вероятно, это изменится в будущем, но по состоянию на 30.04.2009 необходимо использовать другие возможности.

0 голосов
/ 29 апреля 2019

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 .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...