我们购买了具有公共 IP 地址的专用服务器。我有一个针对域名 example.com 的 TLS 证书。此域名有一个专用 IP。使用以下方式发布网站:
https://example.com:8172/msdeploy.axd
这条消息的结果如下:
管理服务配置:
我无法更改证书以匹配域mydomain.com
,它仅提供一个证书WMSVC-SHA2
。域上的 IP 与管理服务上的 IP 匹配。我还可以访问网站,它显示证书正在运行。
如何让管理服务使用 mydomain.com 甚至我们购买的证书,以便它使用正确的证书?
答案1
您可以使用 PowerShell 配置 IIS Web 管理服务以使用自定义证书。您可以参考我关于此主题的博客文章:配置 IIS Web 管理以使用集中式 SSL 证书。
以下是 PowerShell 函数:
function Configure-WebAdministrationCertificate {
[CmdletBinding()]
param(
[Parameter(Mandatory = $true)]
[Security.Cryptography.X509Certificates.X509Certificate2]$Certificate
)
if (!(Test-Path "HKLM:\SOFTWARE\Microsoft\WebManagement\Server")) {
[void](New-Item -Path "HKLM:\SOFTWARE\Microsoft\WebManagement\" -Name "Server" -Force -ErrorAction Stop)
}
$Tokens = $Certificate.Thumbprint -split "([a-fA-F0-9]{2})" | ? {$_}
[Byte[]]$Bytes = $Tokens | %{[Convert]::ToByte($_,16)}
Set-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\WebManagement\Server -Name SslCertificateHash -Value $Bytes
Import-Module WebAdministration
del IIS:\SslBindings\0.0.0.0!8172
$Certificate | New-Item -Path IIS:\SslBindings\0.0.0.0!8172 -Force
Restart-Service -Name wmsvc
}
并使用它:
$cert = gi cert:\LocalMachine\My\$Thumbprint
Configure-WebAdministrationCertificate $cert
其中$Thumbprint
变量存储证书的指纹值。