Диагностика сбоев с помощью удаленного администрирования
Введение
Эта статья помогает проверять и устранять ошибки при использовании RemoteMgr. Это основано на часто задаваемых вопросов на форумах iis.net.
Не удается подключиться к удаленному серверу?
Убедитесь, что клиент и сервер используют ту же сборку. Например, сервер бета-версии 3 RemoteMgr не будет работать со сборкой сервера RC1.
Может возникнуть проблема со списками управления доступом (ACL).
Просмотрите журнал Просмотр событий (eventvwr.msc). События регистрируются с подробными сообщениями об ошибках и трассировкой стека. Глядя на Просмотр событий часто говорит вам, что может быть проблема.
Не удается подключиться к удаленному серверу после обновления привязок WMSvc?
Если это происходит после обновления порта, на котором настроена служба управления веб-данными (WMSvc), проверьте, включен ли брандмауэр для сервера. Если он включен, добавьте новое правило исключения для порта, на котором выполняется WMSvc (значение по умолчанию: 8172). Затем повторите попытку подключения к серверу.
Если это не решает проблему, выполните следующую команду:
netsh http show sslcert
Убедитесь, что порт 8172 (на котором выполняется WMSvc) имеет привязки SSL-сертификата. Кроме того, убедитесь, что хэш сертификата совпадает с хэшом сертификата, к которому привязан WMSvc (в пользовательском интерфейсе службы управления).
Ниже приведен пример выходных данных.
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-адрес https://*:8172/
(порт, на котором настроено выполнение WMSvc) в списке зарезервированных URL-адресов.
Ниже приведен пример выходных данных.
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
Настройте списки управления доступом к ключу компьютера, чтобы группа администраторов получила разрешения на чтение:
icacls %ProgramData%\Microsoft\Crypto\RSA\MachineKeys\bedbf0b4da5f8061b6444baedf4c00b1* /grant Administrators:(R)
Зарезервирует порт 8172 для WMSvc.
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 вместе с исключением и стек вызовов.
Ниже приведены инструкции по стеку исключений и вызовов.
Присоединение
windbg
к wmsvc.exe.windbg -pn wmsvc.exe
Загрузите sos.dll и установите точку останова, если происходит управляемое исключение.
.loadby sos mscorwks sxe clr
Введите
g
.g
Когда исключение прерывается, распечатайте исключение и стек вызовов и отправьте его на iis.net форумах.
!pe !clrstack