在 IIS 10 上配置 Web Deploy 以及证书问题

在 IIS 10 上配置 Web Deploy 以及证书问题

我们购买了具有公共 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变量存储证书的指纹值。

答案2

您必须先停止服务才能编辑证书。

在此处输入图片描述

相关内容