웹 애플리케이션 프록시 문제 해결
이 문서는 온-프레미스 버전의 웹 애플리케이션 프록시 관련되어 있습니다. 클라우드를 통해 온-프레미스 애플리케이션에 안전하게 액세스할 수 있도록 하려면 Microsoft Entra 애플리케이션 프록시 콘텐츠를 참조하세요.
적용 대상: Windows Server 2022, Windows Server 2019, Windows Server 2016
이 섹션에서는 이벤트 설명 및 솔루션을 포함하여 웹 애플리케이션 프록시 대한 문제 해결 절차를 제공합니다. 오류가 표시되는 3개 위치는 다음과 같습니다.
웹 애플리케이션 프록시 관리자 콘솔에서
관리자 콘솔에 나열된 각 이벤트 ID는 Windows 이벤트 뷰어에서 볼 수 있으며, 해당 설명 및 해결 방법은 아래에서 확인할 수 있습니다.
이벤트 뷰어 열고 애플리케이션 및 서비스 로그>Microsoft>Windows>Web 애플리케이션 프록시Admin에서 웹 애플리케이션 프록시> 관련된 이벤트를 찾습니다.
필요한 경우 분석을 켜고 로그를 디버깅하고 \Microsoft\Windows\Web 애플리케이션 프록시Admin 아래의 Windows 이벤트 뷰어 있는 웹 애플리케이션 프록시\ 세션 로그를 켜서 자세한 로그를 사용할 수 있습니다.
PowerShell 오류에서
구성 중에 발생하는 문제에 대한 이벤트는 PowerShell에 표시됩니다.
모든 오류는 표준 PowerShell 오류 프롬프트를 사용하여 PowerShell 사용자에게 표시됩니다. 모든 PowerShell cmdlet은 이벤트로 기록됩니다. PowerShell에서 발생하는 모든 이벤트는 Windows 이벤트 뷰어에 ID 번호 12016으로 나열되며, 아래 PowerShell 섹션에 정의되어 있습니다.
모범 사례 분석기에서
이러한 이벤트는 웹 애플리케이션 프록시 대한 모범 사례 분석기에서 설명합니다.
PowerShell 메시지
이벤트 또는 증상 | 가능한 원인 | 해결 |
---|---|---|
트러스트 인증서("ADFS ProxyTrust - <WAP machine name>")가 잘못되었습니다. | 원인은 다음 중 하나일 수 있습니다. - 애플리케이션 프록시 컴퓨터가 너무 오래 다운되었습니다. |
시계가 동기화되었는지 확인합니다. Install-WebApplicationProxy cmdlet을 실행합니다. |
AD FS에서 구성 데이터를 찾을 수 없습니다. | 이는 웹 애플리케이션 프록시 아직 완전히 설치되지 않았거나 AD FS 데이터베이스의 변경 또는 데이터베이스 손상 때문일 수 있습니다. | Install-WebApplicationProxy cmdlet 실행 |
웹 애플리케이션 프록시 AD FS에서 구성을 읽으려고 할 때 오류가 발생했습니다. | 이는 AD FS에 연결할 수 없거나 AD FS 데이터베이스에서 구성을 읽으려는 내부 문제가 발생했음을 나타낼 수 있습니다. | AD FS에 연결할 수 있고 제대로 작동하는지 확인합니다. |
AD FS에 저장된 구성 데이터가 손상되었거나 웹 애플리케이션 프록시를 구문 분석할 수 없습니다. 또는 웹 애플리케이션 프록시가 AD FS에서 신뢰 당사자 목록을 검색할 수 없습니다. |
이 문제는 구성 데이터가 AD FS에서 수정된 경우에 발생할 수 있습니다. | 웹 애플리케이션 프록시 서비스를 다시 시작합니다. 문제가 지속되면 cmdlet을 Install-WebApplicationProxy 실행합니다. |
관리자 콘솔 이벤트
다음 관리자 콘솔 이벤트는 인증 오류, 잘못된 토큰 또는 만료된 쿠키를 나타냅니다.
이벤트 또는 증상 | 가능한 원인 | 해결 |
---|---|---|
11005 웹 애플리케이션 프록시 구성의 비밀을 사용하여 쿠키 암호화 키를 만들 수 없습니다. |
전역 구성 AccessCookiesEncryptionKey 매개 변수는 PowerShell cmdlet에 의해 변경되었습니다. Set-WebApplicationProxyConfiguration -RegenerateAccessCookiesEncryptionKey |
사용자가 조치할 필요는 없습니다. 문제가 있는 쿠키가 제거되었고 인증을 위해 사용자가 STS로 리디렉션되었습니다. |
12000 웹 애플리케이션 프록시는 60분 이상 구성 변경 내용을 확인할 수 없습니다. |
웹 애플리케이션 프록시 cmdletGet-WebApplicationProxyConfiguration/Application 을 사용하여 웹 애플리케이션 프록시 구성에 액세스할 수 없습니다. 이는 AD FS와의 연결이 부족하거나 AD FS와의 신뢰를 갱신해야 하기 때문에 발생합니다. |
AD FS와의 연결을 확인합니다. 링크 https://<FQDN_AD_FS_Proxy>/FederationMetadata/2007-06/FederationMetadata.xml 을(를) 사용하여 이 작업을 수행할 수 있습니다. AD FS와 웹 애플리케이션 프록시 간에 트러스트가 설정되었는지 확인합니다. 이러한 솔루션이 작동하지 않는 경우 cmdlet을 Install-WebApplicationProxy 실행합니다. |
12003 웹 애플리케이션 프록시가 액세스 쿠키를 구문 분석할 수 없습니다. |
이는 웹 애플리케이션 프록시 AD FS가 연결되지 않았거나 동일한 구성을 받지 못했음을 나타낼 수 있습니다. | AD FS와의 연결을 확인합니다. 링크 https://<FQDN_AD_FS_Proxy>/FederationMetadata/2007-06/FederationMetadata.xml 을(를) 사용하여 이 작업을 수행할 수 있습니다. AD FS와 웹 애플리케이션 프록시 간에 트러스트가 설정되었는지 확인합니다. 이러한 솔루션이 작동하지 않는 경우 cmdlet을 Install-WebApplicationProxy 실행합니다. |
12004 웹 애플리케이션 프록시가 유효성이 검사되지 않은 액세스 쿠키를 사용하여 요청을 받았습니다. |
이 이벤트는 웹 애플리케이션 프록시 AD FS가 연결되지 않았거나 동일한 구성을 받지 못했음을 나타낼 수 있습니다. PowerShell cmdlet에서 |
AD FS와의 연결을 확인합니다. 링크 https://<FQDN_AD_FS_Proxy>/FederationMetadata/2007-06/FederationMetadata.xml 을(를) 사용하여 이 작업을 수행할 수 있습니다. AD FS와 웹 애플리케이션 프록시 간에 트러스트가 설정되었는지 확인합니다. 이러한 솔루션이 작동하지 않는 경우 cmdlet을 Install-WebApplicationProxy 실행합니다. |
12008 웹 애플리케이션 프록시가 백 엔드 서버에 대해 허용된 최대 Kerberos 인증 시도 횟수를 초과했습니다. |
이 이벤트는 웹 애플리케이션 프록시와 백 엔드 애플리케이션 서버 간의 잘못된 구성 또는 두 머신 모두에서 날짜 및 시간 구성에 문제가 있음을 나타냅니다. | 백 엔드 서버가 웹 애플리케이션 프록시에서 생성한 Kerberos 티켓을 거부했습니다. 웹 애플리케이션 프록시 및 백 엔드 애플리케이션 서버의 구성이 올바르게 구성되었는지 확인합니다. 웹 애플리케이션 프록시 및 백 엔드 애플리케이션 서버상의 시간 및 날짜 구성이 동기화되었는지 확인합니다. |
12011 웹 애플리케이션 프록시가 유효성이 검사되지 않은 액세스 쿠키 서명을 사용하여 요청을 받았습니다. |
이 이벤트는 웹 애플리케이션 프록시 AD FS가 연결되지 않았거나 동일한 구성을 받지 못했음을 나타낼 수 있습니다. PowerShell cmdlet에서 AccessCookiesEncryptionKey Set-WebApplicationProxyConfiguration -RegenerateAccessCookiesEncryptionKey 매개 변수를 변경한 경우 이 이벤트는 정상이며 해결 단계가 필요하지 않습니다. |
AD FS와의 연결을 확인합니다. 링크 https://<FQDN_AD_FS_Proxy>/FederationMetadata/2007-06/FederationMetadata.xml 을(를) 사용하여 이 작업을 수행할 수 있습니다. AD FS와 웹 애플리케이션 프록시 간에 트러스트가 설정되었는지 확인합니다. 이러한 솔루션이 작동하지 않는 경우 cmdlet을 Install-WebApplicationProxy 실행합니다. |
12027 요청을 처리하는 동안 프록시에서 예기치 않은 오류가 발생했습니다. 제공된 이름은 올바른 형식의 계정 이름이 아닙니다. |
이 이벤트는 웹 애플리케이션 프록시와 도메인 컨트롤러 서버 간의 잘못된 구성 또는 두 머신 모두에서 날짜 및 시간 구성에 문제가 있음을 나타냅니다. | 도메인 컨트롤러가 웹 애플리케이션 프록시에서 생성한 Kerberos 티켓을 거부했습니다. 웹 애플리케이션 프록시 및 백 엔드 응용 프로그램 서버의 구성, 특히 SPN 구성이 올바르게 구성되었는지 확인합니다. 웹 애플리케이션 프록시가 도메인 컨트롤러와 동일한 도메인에 도메인 가입되어 있는지 확인하여 도메인 컨트롤러가 웹 애플리케이션 프록시와 신뢰를 구축할 수 있게 하세요. 웹 애플리케이션 프록시 및 도메인 컨트롤러상의 시간 및 날짜 구성이 동기화되었는지 확인합니다. |
13012 웹 애플리케이션 프록시가 유효성이 검사되지 않은 에지 토큰 서명을 받았습니다. |
업데이트된 웹 애플리케이션 프록시 웹 애플리케이션 프록시 Windows Server 2012 R2에서 자동으로 업데이트된 후 업데이트된 인증서를 검색할 수 없는지 확인합니다. | |
13013 웹 애플리케이션 프록시가 만료된 에지 토큰이 포함된 요청을 받았습니다. |
웹 애플리케이션 프록시 및 AD FS에는 동기화된 클록이 없습니다. | 웹 애플리케이션 프록시가 AD FS 간에 클록을 동기화합니다. |
13014 웹 애플리케이션 프록시가 유효성이 검사되지 않은 에지 토큰이 있는 요청을 받았습니다. 토큰을 구문 분석할 수 없으므로 유효하지 않습니다. |
이는 AD FS 구성에 문제가 있음을 나타낼 수 있습니다. | AD FS 구성을 확인하고 필요한 경우 기본 구성을 복원합니다. |
13015 웹 애플리케이션 프록시가 만료된 액세스 쿠키를 사용하여 요청을 받았습니다. |
동기화되지 않은 클록을 나타낼 수 있습니다. | 웹 애플리케이션 프록시 컴퓨터 클러스터로 작업하는 경우 컴퓨터의 시간과 날짜가 동기화되었는지 확인합니다. |
13016 에지 토큰이나 액세스 토큰에 UPN이 없기 때문에 웹 애플리케이션 프록시에서 사용자를 대신해서 Kerberos 티켓을 검색할 수 없습니다. |
STS 구성에 문제가 있습니다. | STS에서 UPN 클레임 구성을 수정합니다. |
13019 다음과 같은 일반 API 오류로 인해 웹 애플리케이션 프록시가 사용자를 대신하여 Kerberos 티켓을 검색할 수 없습니다. |
이 이벤트는 웹 애플리케이션 프록시와 도메인 컨트롤러 서버 간의 잘못된 구성 또는 두 머신 모두에서 날짜 및 시간 구성에 문제가 있음을 나타냅니다. | 도메인 컨트롤러가 웹 애플리케이션 프록시에서 생성한 Kerberos 티켓을 거부했습니다. 웹 애플리케이션 프록시 및 백 엔드 응용 프로그램 서버의 구성, 특히 SPN 구성이 올바르게 구성되었는지 확인합니다. 웹 애플리케이션 프록시가 도메인 컨트롤러와 동일한 도메인에 도메인 가입되어 있는지 확인하여 도메인 컨트롤러가 웹 애플리케이션 프록시와 신뢰를 구축할 수 있게 하세요. 웹 애플리케이션 프록시 및 도메인 컨트롤러상의 시간 및 날짜 구성이 동기화되었는지 확인합니다. |
13020 웹 애플리케이션 프록시는 백 엔드 서버 SPN이 정의되지 않았기 때문에 사용자를 대신하여 Kerberos 티켓을 검색할 수 없습니다. |
이 이벤트는 웹 애플리케이션 프록시와 도메인 컨트롤러 서버 간의 잘못된 구성 또는 두 머신 모두에서 날짜 및 시간 구성에 문제가 있음을 나타냅니다. | 도메인 컨트롤러가 웹 애플리케이션 프록시에서 생성한 Kerberos 티켓을 거부했습니다. 웹 애플리케이션 프록시 및 백 엔드 응용 프로그램 서버의 구성, 특히 SPN 구성이 올바르게 구성되었는지 확인합니다. 웹 애플리케이션 프록시가 도메인 컨트롤러와 동일한 도메인에 도메인 가입되어 있는지 확인하여 도메인 컨트롤러가 웹 애플리케이션 프록시와 신뢰를 구축할 수 있게 하세요. 웹 애플리케이션 프록시 및 도메인 컨트롤러상의 시간 및 날짜 구성이 동기화되었는지 확인합니다. |
13022 백 엔드 서버가 Kerberos 인증 시도에 HTTP 401 오류로 응답하기 때문에 웹 애플리케이션 프록시가 사용자를 인증할 수 없습니다. |
이 이벤트는 웹 애플리케이션 프록시와 백 엔드 애플리케이션 서버 간의 잘못된 구성 또는 두 머신 모두에서 날짜 및 시간 구성에 문제가 있음을 나타냅니다. | 백 엔드 서버가 웹 애플리케이션 프록시에서 생성한 Kerberos 티켓을 거부했습니다. 웹 애플리케이션 프록시 및 백 엔드 애플리케이션 서버의 구성이 올바르게 구성되었는지 확인합니다. 웹 애플리케이션 프록시 및 백 엔드 애플리케이션 서버상의 시간 및 날짜 구성이 동기화되었는지 확인합니다. |
13025 클라이언트가 웹 애플리케이션 프록시 SSL 인증서를 제시하지 않았습니다. |
이 이벤트는 시간 및 날짜 구성에서 문제를 나타낼 수 있습니다. | 인증서 인프라가 유효하고 웹 애플리케이션 프록시와 AD FS의 시간 및 날짜가 동기화되었는지 확인합니다. 웹 애플리케이션 프록시에 대해 구성된 지문이 올바른지 확인합니다. |
13026 클라이언트가 웹 애플리케이션 프록시에 SSL 인증서를 제시했지만 인증서가 유효하지 않습니다: 인증서가 지문과 일치하지 않습니다. |
이 이벤트는 시간 및 날짜 구성에서 문제를 나타낼 수 있습니다. | 인증서 인프라가 유효하고 웹 애플리케이션 프록시와 AD FS의 시간 및 날짜가 동기화되었는지 확인합니다. 웹 애플리케이션 프록시에 대해 구성된 지문이 올바른지 확인합니다. |
13028 웹 애플리케이션 프록시가 아직 유효하지 않은 에지 토큰이 포함된 요청을 수신했습니다. |
이 이벤트는 시간 및 날짜 구성에서 문제를 나타낼 수 있습니다. | 인증서 인프라가 유효하고 웹 애플리케이션 프록시와 AD FS의 시간 및 날짜가 동기화되었는지 확인합니다. |
13030 클라이언트가 웹 애플리케이션 프록시 SSL 인증서를 제공했지만 신뢰 공급자는 클라이언트 인증서를 발급한 인증 기관을 신뢰하지 않습니다. |
이 이벤트는 시간 및 날짜 구성에서 문제를 나타낼 수 있습니다. | 인증서 인프라가 유효하고 웹 애플리케이션 프록시와 AD FS의 시간 및 날짜가 동기화되었는지 확인합니다. 웹 애플리케이션 프록시에 대해 구성된 지문이 올바른지 확인합니다. |
13031 클라이언트가 웹 애플리케이션 프록시에 SSL 인증서를 제공했지만 인증서 체인이 신뢰 공급자가 신뢰하지 않는 루트 인증서에서 종료되었습니다. |
이 이벤트는 시간 및 날짜 구성에서 문제를 나타낼 수 있습니다. | 인증서 인프라가 유효하고 웹 애플리케이션 프록시와 AD FS의 시간 및 날짜가 동기화되었는지 확인합니다. 웹 애플리케이션 프록시에 대해 구성된 지문이 올바른지 확인합니다. |
13032 클라이언트가 웹 애플리케이션 프록시에 SSL 인증서를 제시했지만 인증서가 요청된 용도에 유효하지 않습니다. |
이 이벤트는 시간 및 날짜 구성에서 문제를 나타낼 수 있습니다. | 인증서 인프라가 유효하고 웹 애플리케이션 프록시와 AD FS의 시간 및 날짜가 동기화되었는지 확인합니다. 웹 애플리케이션 프록시에 대해 구성된 지문이 올바른지 확인합니다. |
13,033 클라이언트가 웹 애플리케이션 프록시에 SSL 인증서를 제시했지만 현재 시스템 시계 또는 서명된 파일의 타임스탬프와 비교하여 확인할 때 인증서가 유효 기간 내에 있지 않습니다. |
이 이벤트는 시간 및 날짜 구성에서 문제를 나타낼 수 있습니다. | 인증서 인프라가 유효하고 웹 애플리케이션 프록시와 AD FS의 시간 및 날짜가 동기화되었는지 확인합니다. 웹 애플리케이션 프록시에 대해 구성된 지문이 올바른지 확인합니다. |
13034 클라이언트가 웹 애플리케이션 프록시에 SSL 인증서를 제시했지만 인증서가 유효하지 않습니다. |
이 이벤트는 시간 및 날짜 구성에서 문제를 나타낼 수 있습니다. | 인증서 인프라가 유효하고 웹 애플리케이션 프록시와 AD FS의 시간 및 날짜가 동기화되었는지 확인합니다. 웹 애플리케이션 프록시에 대해 구성된 지문이 올바른지 확인합니다. |
다음 관리자 콘솔 이벤트는 프로비저닝, 성공하지 못한 요청, 연결할 수 없는 백엔드 서버 및 버퍼 오버플로와 같은 구성과 관련된 문제를 나타냅니다.
이벤트 또는 증상 | 가능한 원인 | 해결 |
---|---|---|
12019 웹 애플리케이션 프록시가 다음 URL에 대한 수신기를 만들지 못했습니다. |
이벤트의 가능한 원인은 다른 서비스가 동일한 URL을 수신하고 있기 때문일 수 있습니다. | 관리자는 아무도 동일한 URL을 듣거나 바인딩하지 않도록 해야 합니다. 이를 확인하려면 다음 명령을 netsh http show urlacl 실행합니다. 이 URL을 웹 애플리케이션 프록시 컴퓨터에서 실행 중인 다른 컴포넌트에서 사용하는 경우, 해당 URL을 제거하거나 다른 URL을 사용하여 웹 애플리케이션 프록시를 통해 애플리케이션을 게시하세요. |
12020 웹 애플리케이션 프록시가 다음 URL에 대한 예약을 만들지 못했습니다. |
이벤트의 가능한 원인은 동일한 URL에 다른 서비스가 예약되어 있기 때문일 수 있습니다. | 관리자는 아무도 동일한 URL에 바인딩하지 않도록 해야 합니다. 이를 확인하려면 다음 명령을 netsh http show urlacl 실행합니다. 이 URL을 웹 애플리케이션 프록시 컴퓨터에서 실행 중인 다른 컴포넌트에서 사용하는 경우, 해당 URL을 제거하거나 다른 URL을 사용하여 웹 애플리케이션 프록시를 통해 애플리케이션을 게시하세요. |
12021 웹 애플리케이션 프록시는 SSL 서버 인증서를 바인딩할 수 없습니다. 다른 모든 구성 설정이 적용되었습니다. |
SSL 인증서 데이터의 구성 레코드를 만들고 설정할 수 없습니다. | 웹 애플리케이션 프록시 애플리케이션에 대해 구성된 인증서 지문이 로컬 컴퓨터 저장소에 개인 키가 있는 모든 웹 애플리케이션 프록시 컴퓨터에 설치되어 있는지 확인합니다. |
13001 백 엔드 서버에서 웹 애플리케이션 프록시에 제공한 SSL 서버 인증서가 유효하지 않으며 인증서를 신뢰할 수 없습니다. |
서버에서 전송한 SSL(Secure Sockets Layer) 인증서에서 하나 이상의 오류가 발견되었습니다. 이는 백 엔드 서버가 유효하지 않은 SSL을 제공했거나 웹 애플리케이션 프록시와 백 엔드 서버 간에 신뢰가 없음을 나타낼 수 있습니다. | 백 엔드 서버 SSL 인증서의 유효성을 검사합니다. 웹 애플리케이션 프록시 시스템이 백 엔드 서버 인증서를 신뢰할 수 있는 올바른 루트 CA로 구성되어 있는지 확인합니다. |
13006 | 오류 코드가 0x80072ee7인 경우 백 엔드 서버 URL을 확인할 수 없기 때문에 오류가 발생합니다. WinHttpSendRequest 함수(winhttp.h)에 다른 오류 코드가 설명되어 있습니다. | 백 엔드 서버 URL이 올바른지, 웹 애플리케이션 프록시 컴퓨터에서 해당 이름을 올바르게 확인할 수 있는지 확인합니다. |
13007 백 엔드 서버의 HTTP 응답이 예상된 간격 내에 수신되지 않았습니다. |
백 엔드 서버 요청 시간이 초과되거나 느리거나 응답하지 않습니다. | 백 엔드 서버 구성을 확인하세요. 속도가 느린 경우 백 엔드 서버에 대한 연결을 확인하고 웹 애플리케이션 프록시 전역 구성 매개 변수 cmdlet을 InactiveTransactionsTimeoutSec 변경하는 것도 고려합니다. |