Windows Server 2015/2012 R2中的远程IIS管理
Windows 2015/2012/R2中的Web服务器Internet信息服务(与以前的IIS版本一样)可以进行远程管理。实际上,从一个控制台管理多个IIS服务器足够方便,这几乎是管理以Core/Nano模式运行的Web服务器的唯一方法。但是,默认情况下,远程IIS管理处于禁用状态,并且如果我们尝试将具有运行IIS的远程服务器添加到另一台服务器上的IIS管理控制台("连接到服务器"菜单),则会出现以下错误消息:
无法连接到指定的计算机详细信息:无法连接到远程服务器
安装IIS管理服务
问题在于在标准IIS安装期间未安装负责其远程管理的服务(IIS管理服务)。我们可以使用以下PowerShell命令确保系统中缺少此服务:
Get-WindowsFeature *web-mgmt*
如我们所见,未安装" Web-Mgmt-Service"服务。通过执行以下具有本地管理员权限的PowerShell命令来安装它:
Add-WindowsFeature Web-Mgmt-Service
或者,我们可以使用PowerShell cmdlet安装功能:
Install-WindowsFeature Web-Mgmt-Service
我们还可以从服务器管理器控制台中安装管理服务组件:
然后重新启动IIS Web服务:
iisreset –noforce
下一步是允许IIS Web服务器设置中的远程连接。为此,请在IIS管理器的"管理"部分中打开"管理服务"项目。
检查"管理服务"部分中的"启用远程连接"选项。
在这里,我们可以按IP地址限制到IIS管理控制台的连接。为此,拒绝未指定客户端的连接(未指定客户端的访问:拒绝),并指定允许连接的IP地址/ IP子网。远程连接服务使用SSL证书,但是如果将其导入到服务器证书存储中,则可以使用另一个证书(可以使用PoSh创建和使用自签名SSL证书)。保存更改。
注意默认情况下,端口8172用于远程IIS管理。保存更改后,该端口将在Windows防火墙中自动打开。
注意我们可以通过将注册表项HKLM\Software\Microsoft\WebManagement\Server中的参数EnableRemoteManagement
设置为1,来通过以Core模式运行的远程IIS服务器上的注册表激活此选项。
Reg Add HKLM\Software\Microsoft\WebManagement\Server /V EnableRemoteManagement /T REG_DWORD /D 1
在这种情况下,我们必须手动创建防火墙规则:
netsh advfirewall firewall add rule name=”Allow IIS Web Management” dir=in action=allow service=”WMSVC”
现在,我们只需要启动Web管理服务:
net start wmsvc
并将服务配置为在系统启动时自动启动:
set-service wmsvc -StartupType Automatic
或者如下:
sc config WMSVC start= auto
之后,可以将远程IIS Web服务器添加到IIS管理器控制台中,并且我们可以管理IIS服务器,以及与本地Web服务器相同的方式来管理IIS服务器上的多个站点。
允许非管理员帐户远程管理IIS站点
默认情况下,只有具有管理员权限的用户才有权远程管理IIS服务器。为了向标准用户授予IIS远程管理的权限,必须在每个IIS网站的级别授予相应的权限。选择一个站点,然后找到" IIS管理器权限"选项。
在"动作"面板中,单击"允许用户"。选择要授予其IIS访问权限的用户帐户,然后单击"确定"。
在IIS服务器级别的"功能委托"部分中配置了用于管理IIS服务器上站点的用户权限。
我们可以为每个IIS服务器管理功能选择三个用户访问级别之一:只读,读/写或者未委派。
如何从Windows 10远程管理IIS服务器?
如果需要使用Windows 10(Windows 7或者8.1)从客户端桌面远程管理IIS服务器,则需要从以下位置安装IIS管理控制台:打开或者关闭Windows功能-> Internet信息服务-> Web管理工具-> IIS管理控制台。
我们可以使用PowerShell命令安装此功能:
Enable-WindowsOptionalFeature -Online -FeatureName "IIS-ManagementService"
但是,当我们在Windows 10中运行IIS管理器控制台时,菜单中的"连接到服务器"项丢失。
为了能够从Windows 10远程连接到IIS,我们需要下载并安装用于远程管理的IIS管理器包(https://www.microsoft.com/zh-cn/download/details.aspx?id=41177) 。
提示。有适用于x64(inetmgr_amd64_en-US.msi)和x86 OS(inetmgr_x86_en-US.msi)的IIS管理器版本。
安装后,我们需要重新启动IIS管理器并连接到该站点。如果在连接到IIS时发现客户端和服务器上的控制台版本不同,则会出现一条通知:它表明我们需要更新控制台版本(所有必需的文件将自动从服务器下载)。
现在,我们必须成功连接到IIS服务器并从办公桌远程管理它。
IIS远程管理和TLS 1.1/TLS 1.2支持
如果我们已在IIS上禁用了不安全的SSLv3和TLS 1.0协议,并且仅保留了TLS 1.1/TLS 1.2,那么在远程连接到IIS时,将出现错误:
The underlying connection was closed: An unexpected error occurred on a send.
要解决此问题,必须在客户端的注册表中进行更改,以便在连接期间强制使用TLS 1.2协议。设置取决于Windows的版本。
Windows 10和Windows Server 2015:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319]"SchUseStrongCrypto"=dword:00000001[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319]"SchUseStrongCrypto"=dword:00000001
Windows 2012/R2和Windows 8/8.1:
必须安装NET Framework 4.5.2或者更高版本(如何检查已安装NET Framework的版本)。
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319]"SchUseStrongCrypto"=dword:00000001[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319]"SchUseStrongCrypto"=dword:00000001
Windows Server 2008 R2/Windows 7:
我们必须首先安装更新KB3154518,以支持.NET Framework 3.5.1中的TLS 1.2.
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727]"SystemDefaultTlsVersions"=dword:00000001[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727]"SystemDefaultTlsVersions"=dword:00000001[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols][HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1][HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client]"DisabledByDefault"=dword:00000000[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server]"DisabledByDefault"=dword:00000000[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2][HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client]"DisabledByDefault"=dword:00000000[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server]"DisabledByDefault"=dword:00000000