如何为 Server-Core 上的 IIS7+ 管理服务分配不同的 SSL 证书?

如何为 Server-Core 上的 IIS7+ 管理服务分配不同的 SSL 证书?

在为 IIS7+ 安装管理服务时,会创建并分配自签名 SSL 证书,其名称为“WMSvc-ComputerName”。

在 GUI 版本中,我可以将其更改为服务器上安装的不同“正确”证书,以便远程客户端信任它。

远程连接到服务器时,管理服务的 GUI 模块不可用。

因此我需要使用服务器上的命令行来更改它。我该怎么做?

PowerShell 中的解决方案:,(感谢 Mathias R. Jessen)

# get the thumbprint for the certificate we want to use:
$thumb = (Get-ChildItem cert:\LocalMachine\MY | where-object { $_.FriendlyName -eq   "www.stackoverflow.com" } | Select-Object -First 1).Thumbprint
# get a new guid:
$guid = [guid]::NewGuid()

# remove the self-signed certificate:
& netsh http delete sslcert ipport=0.0.0.0:8172
# add the 'proper' certificate:
& netsh http add sslcert ipport=0.0.0.0:8172 certhash=$thumb appid=`{$guid`}

答案1

使用 certutil 导入证书:

certutil -importpfx [Path to certificate file]

使用 appcmd 将 HTTPS 绑定添加到站点:

appcmd set site "Default Web Site" /+bindings.[protocol='https',bindingInformation='*:443:']

使用 netsh 将 SSL 证书添加到端点:

netsh http add sslcert ipport=0.0.0.0:443 certhash=[thumbprint of certificate] appid={[random GUID]}

相关内容