简介
本文可帮助你检查和修复使用 RemoteMgr 时发现的故障。 这基于 iis.net 论坛上的常见问题。
无法连接到远程服务器?
确保客户端和服务器正在使用相同的内部版本。 例如,服务器 Beta 3 RemoteMgr 不适用于 RC1 服务器内部版本。
可能存在与访问控制列表 (ACL) 相关的问题。
查看事件查看器(eventvwr.msc)日志。 使用详细的错误消息和堆栈跟踪记录事件。 查看事件查看器通常会告诉你问题是什么。
更新 WMSvc 绑定后无法连接到远程服务器?
如果在更新 Web 管理服务(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 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
配置计算机密钥的 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 日志以及异常和调用堆栈。
下面是有关如何获取异常和调用堆栈的步骤:
附加到
windbg
wmsvc.exe。windbg -pn wmsvc.exe
加载sos.dll,并在发生托管异常时设置断点。
.loadby sos mscorwks sxe clr
键入
g
。g
当异常中断时,打印异常和调用堆栈并将其发送到 iis.net 论坛。
!pe !clrstack