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 사용)에서 루트 인증서를 신뢰할 수 있는 루트 인증서 저장소에 설치하고 클라이언트 인증서를 현재 사용자의 개인 저장소에 설치하면 끝점을 탐색할 수 있습니다. 주소(https://localhost/foobar/endpointName)를 입력하면 선택할 수 있는 클라이언트 인증서 목록이 나타나고 올바른 인증서를 선택하면 엔드포인트에 도달합니다.

원격으로는 다른 이야기입니다. 사용자의 개인 저장소에 동일한 클라이언트 인증서가 설치된 다른 컴퓨터에서 시도할 때 선택할 클라이언트 인증서 목록을 얻지 못하고 단순히 403 Unauthorized 오류가 발생합니다. 이 경우 URL은 다음과 같습니다.https://serverCertName.domain.com/foobar/endpointName, 여기서 serverCertName.domain.com에는 적절한 A 레코드가 있습니다. 나는 또한 특별히 인증서를 로드할 수 있는 IE에서 이것을 시도했고 동일한 결과를 얻었습니다. 연결하려는 서버의 IIS 로그에 이러한 시도는 403.7로 기록됩니다.

또한 HttpClient(C#)를 사용하여 원격 서버의 코드에서 이 작업을 시도했는데 거기에서도 Unauthorized가 발생했습니다. 나는 내 로컬 요청과 원격 요청 사이에 차이점이 무엇인지 알아내려고 오랫동안 화면을 바라보았지만 이번에는 내 인터넷 검색 기술이 실패하고 있습니다.

답변1

그런데 드디어 답이 나왔어요. 내가 도달하려는 엔드포인트가 로드 밸런서 뒤에 있다는 것을 깨닫지 못했지만 알고 보니 그랬습니다. 그것이 내 문제의 원인이었습니다.

관련 정보