원격 관리를 사용하여 오류 진단
소개
이 문서는 RemoteMgr을 사용하는 동안 발견된 오류를 확인하고 해결하는 데 도움이 됩니다. 이는 iis.net 포럼에서 자주 묻는 질문을 기반으로 합니다.
원격 서버에 연결할 수 없나요?
클라이언트와 서버가 동일한 빌드를 사용하고 있는지 확인합니다. 예를 들어 서버 베타 3 RemoteMgr은 RC1 서버 빌드에서 작동하지 않습니다.
ACL(액세스 제어 목록)과 관련된 문제가 있을 수 있습니다.
이벤트 뷰어(eventvwr.msc) 로그를 검토합니다. 이벤트는 자세한 오류 메시지와 스택 추적으로 기록됩니다. 이벤트 뷰어 보면 종종 문제가 무엇인지 알려줍니다.
WMSvc 바인딩을 업데이트한 후 원격 서버에 연결할 수 없나요?
WMSvc(웹 관리 서비스)가 실행되도록 구성된 포트를 업데이트한 후 이 오류가 발생하는 경우 서버에 대해 방화벽이 켜져 있는지 확인합니다. ON인 경우 WMSvc가 실행 중인 포트에 대한 새 예외 규칙을 추가합니다(기본값: 8172). 그런 다음 서버에 다시 연결해 봅니다.
문제가 해결되지 않으면 다음 명령을 실행합니다.
netsh http show sslcert
포트 8172(WMSvc가 실행 중인 포트)에 SSL 인증서 바인딩이 있는지 확인합니다. 또한 인증서 해시가 WMSvc가 바인딩된 해시와 일치하는지 확인합니다(관리 서비스 UI에서).
샘플 출력은 다음과 같습니다.
c:\>netsh http show sslcert
SSL Certificate bindings:
-------------------------
IP:port : 0.0.0.0:8172
Certificate Hash : f06ae62a5275a818338f05ecc80707335be1e204
Application ID : {00000000-0000-0000-0000-000000000000}
Certificate Store Name: MY
Verify Client Certificate Revocation : Enabled
Verify Revocation Using Cached Client Certificate Only: Disabled
Usage Check : Enabled
Revocation Freshness Time: 0
URL Retrieval Timeout : 0
Ctl Identifier : (null)
Ctl Store Name : (null)
DS Mapper Usage : Disabled
Negotiate Client Certificate : Disabled
그런 후 다음 명령을 실행합니다.
netsh http show urlacl
예약된 URL 목록에 URL https://*:8172/
(WMSvc가 실행되도록 구성된 포트)이 표시되는지 확인합니다.
샘플 출력은 다음과 같습니다.
c:\>netsh http show urlacl
URL Reservations:
-----------------
Reserved URL : https://*:8172/
User: NT SERVICE\WMSvc
Listen: Yes
Delegate: No
SDDL: D:(A;;GX;;;S-1-5-80-257763619-1023834443-750927789-3464696139-1457670516)
이전 단락에서 언급한 명령을 사용하여 netsh
바인딩이 올바르게 구성되지 않은지 확인합니다. 문제는 WMSvc 바인딩을 조정하려는 관리자에 대한 권한이 컴퓨터 키에 없는 것일 수 있습니다. 이 경우 다음 단계를 수행합니다.
컴퓨터 키의 소유권을 가져옵니다.
takeown /F %ProgramData%\Microsoft\Crypto\RSA\MachineKeys\bedbf0b4da5f8061b6444baedf4c00b1* /R
관리자 그룹에 읽기 권한이 있도록 컴퓨터 키의 ACL을 구성합니다.
icacls %ProgramData%\Microsoft\Crypto\RSA\MachineKeys\bedbf0b4da5f8061b6444baedf4c00b1* /grant Administrators:(R)
WMSvc용 포트 8172를 예약합니다.
netsh http add urlacl url=https://*:8172/ User="NT SERVICE\wmsvc"
인증서를 포트와 연결합니다.
netsh http add sslcert ipport=0.0.0.0:8172 certhash=<certHash> appid={d7d72267-fcf9-4424-9eec-7e1d8dcec9a9}
원격 서버에 연결할 때마다 클라이언트에서 프롬프트를 표시하지 않으시겠습니까?
서버에서 WMSvc에 대해 신뢰할 수 있는 루트 인증서를 사용하는지 확인합니다. 신뢰할 수 있는 루트 인증서를 만들고(아직 없는 경우) 관리 서비스 기능 페이지에서 서비스에서 사용할 이 인증서를 할당합니다. 이렇게 하면 인증서를 신뢰할 수 없으므로 서버를 신뢰할 수 있는지 묻는 메시지가 클라이언트에 수신되지 않습니다.
추가 도움말
이전 해결 방법이 도움이 되지 않는 경우 다음 단계를 사용하여 예외 및 호출 스택을 캡처합니다. 그런 다음 IIS.NET 포럼에 문제를 게시하고 예외 및 호출 스택과 함께 eventvwr.msc 로그를 포함합니다.
예외 및 호출 스택을 가져오는 방법에 대한 단계는 다음과 같습니다.
wmsvc.exe 연결
windbg
합니다.windbg -pn wmsvc.exe
관리되는 예외가 발생하면 sos.dll 로드하고 중단점을 설정합니다.
.loadby sos mscorwks sxe clr
g
.g
예외가 중단되면 예외 및 호출 스택을 인쇄하여 iis.net 포럼으로 보냅니다.
!pe !clrstack