Авторизация сертификата клиента IIS работает локально, но не удаленно

Авторизация сертификата клиента IIS работает локально, но не удаленно

Я пытался настроить авторизацию клиентского сертификата на конечной точке IIS. Следуя руководству наhttps://joji.me/en-us/blog/how-to-create-an-iis-website-that-requires-client-certificate-using-self-signed-certificates/ Я создал корневой сертификат, а затем сертификат сервера и клиентский сертификат из этого корневого сертификата.

Я вижу, что на моем сервере (Windows 2012 R2, использующем IIS 8.5), когда я устанавливаю корневой сертификат в хранилище сертификатов Trusted Root, а клиентский сертификат — в Personal Store для текущего пользователя, я могу перейти к конечной точке. Я ввожу адрес (https://localhost/foobar/endpointName), появляется список клиентских сертификатов, из которых я могу выбрать, и если я выбираю правильный, я попадаю на конечную точку.

Удаленно это другая история. Когда я пытаюсь с другой машины, на которой установлен тот же клиентский сертификат в хранилище Personal пользователя, я не получаю список клиентских сертификатов для выбора, я просто получаю ошибку 403 Unauthorized. В этом случае URL-адресhttps://serverCertName.domain.com/foobar/endpointName, где serverCertName.domain.com имеет правильную запись A. Я также пробовал это в IE, где вы можете загрузить сертификат специально, и получил тот же результат. В журналах IIS на сервере, к которому я пытаюсь подключиться, эти попытки регистрируются как 403.7.

Я также пробовал это из кода на удаленном сервере с помощью HttpClient (C#) и получаю Unauthorized там тоже. Я долго пялился на свой экран, пытаясь понять, в чем может быть разница между моими локальными запросами и удаленными, но мои навыки поиска в Интернете на этот раз подводят меня.

решение1

Ну, ответ наконец-то пришел ко мне. Я не осознавал, что конечная точка, к которой я пытался обратиться, находилась за балансировщиком нагрузки, но оказалось, что так оно и было. Это и было источником моей проблемы.

Связанный контент