保护 Web Studio 部署的安全(可选)

在随 Delivery Controller 安装 Web Studio 时,安装程序会创建绑定到当前服务器的 443 端口的自签名证书。Web Studio 和 Delivery Controller 将使用该证书作为 TLS 证书。从另一台计算机访问时,您可能无法访问 Web Studio,或者可能会在 Web Studio 登录屏幕中看到错误。

如果要从另一台计算机访问 Web Studio,可以执行以下操作:

  1. 从 Delivery Controller 中导出自签名证书。

    导出自签名证书

    • 对于 Export Private Key(导出私钥),请选择 No, do not export the private key(否,不导出私钥)。

    • 对于 Export File Format(导出文件格式),请选择 DER encoded binary X.509 (.CER)(DER 编码的二进制 X.509 (.CER))。

  2. 转到要访问 Web Studio 的计算机,然后安装证书。

    安装证书

    • 对于 Store Location(存储位置),请选择 Local Machine(本地计算机)。

如果您选择在远离 Delivery Controller 的专用服务器上安装 Web Studio,则需要执行两项任务:

  • 任务 1:分别从 Web Studio 服务器和 Delivery Controller 中导出证书。

  • 任务 2:在要访问 Web Studio 的计算机上安装两个证书。

注意:

作为最佳实践,我们建议您使用来自企业 CA 的外部公共信任证书或证书来保护 Web Studio 部署。

使用外部公共信任证书

可以使用以下三种方法中的任何一种将外部公共信任证书导入 Web Studio 服务器:

  • 安装 PFX 文件

    1. 双击 PFX 文件。

    2. 对于 Store Location(存储位置),请选择 Local Machine(本地计算机)。

      证书导入向导

    3. 如果需要,请输入密码。

      密钥保护

    4. 对于证书存储,请选择个人

      证书存储

  • 使用“管理计算机证书”控制台

    1. 打开“管理计算机证书”控制台,然后转到个人 > 证书 > 所有任务 > 导入

      “管理计算机证书”控制台

    2. 选择 PFX 文件并根据需要输入密码。

  • 使用 PowerShell

     Import-PfxCertificate -Password $(ConvertTo-SecureString -String "123456" -AsPlainText -Force) -CertStoreLocation Cert:\LocalMachine\My\ -FilePath .\Desktop\certificate.pfx
     <!--NeedCopy-->
    

然后,您将证书绑定到 443 端口。可以在安装或升级之前,也可以在安装或升级之后执行此操作。如果为 443 端口配置了证书绑定,安装程序不会执行任何操作。有关详细信息,请参阅安装或升级之前

使用企业 CA 颁发的证书

在开始之前,请确保在您的域中部署了企业证书颁发机构 (CA) 服务器。

要申请证书,请执行以下步骤:

  1. 在服务器上,打开“管理计算机证书”控制台

  2. 转至个人 > 证书 > 所有任务 > 申请新证书

    申请新证书

  3. 转到证书注册,选择 Web 服务器,然后单击警告消息以填写必要的信息。

    证书注册

  4. 选择公用名作为使用者名称类型,然后输入您的 FQDN 或 DNS。另外,请输入备用名称。

    注意:

    如果您需要通配符证书,则可以输入 CN=*.bvttree.local 作为使用名称,和输入 *.bvttree.local and bvttree.local 作为备用 DNS 名称。

    证书属性

该证书可在个人 > 证书下找到。

个人 > 证书

然后,您将证书绑定到 443 端口。可以在安装或升级之前,也可以在安装或升级之后执行此操作。如果为 443 端口配置了证书绑定,安装程序不会执行任何操作。

安装或升级之前

要将证书绑定到 443 端口,请执行以下步骤(前提是尚未为 443 配置证书绑定,并且服务器上已启用 IIS):

  1. 以管理员身份登录 Web Studio 服务器。

  2. 打开 IIS 管理器,浏览到站点 > 默认网站 > 绑定

  3. 站点绑定中,单击添加

    站点绑定 2

  4. 添加站点绑定中,将类型设置为 https,将端口设置为 443,选择您从 CA 请求的 SSL 证书,然后单击确定

    添加站点绑定

安装 Web Studio 后,Web Studio 和 Delivery Controller 会自动配置为使用证书来保护连接。

或者,您可以使用 PowerShell 更改证书。

$certSName = 'CN=whpdevddc0.bvttree.local'  # The subject name of the certificate
$certificate = Get-ChildItem -Path Cert:\LocalMachine\My\ | ? {$_.Subject -eq $certSName}
netsh http add sslcert ipport=0.0.0.0:443 certhash=$($certificate.Thumbprint) certstorename=My appid="$($(New-Guid).ToString("B"))"
<!--NeedCopy-->

安装或升级之后

转到 Web Studio 服务器并使用 IIS 管理器更改证书。 或者,您可以使用 PowerShell 更改证书。

$certSName = 'CN=whpdevddc0.bvttree.local' # The Enterprise CA certificate subject.
$certificate = Get-ChildItem -Path Cert:\LocalMachine\My\ | ? {$_.Subject -eq $certSName}
netsh http update sslcert ipport=0.0.0.0:443 certhash=$($certificate.Thumbprint)
<!--NeedCopy-->

使用新的自签名证书

可以生成新的自签名证书并使用它来替换现有证书。请执行以下步骤:

  1. 以管理员身份登录 Web Studio 服务器。

  2. 打开 IIS 管理器,浏览到服务器证书,然后在操作窗格中选择创建自签名证书

    服务器证书

  3. 创建自签名证书中,输入证书的名称,然后单击确定。然后创建自签名证书。

    创建自签名证书

  4. 浏览到站点 > 默认网站,在操作窗格中选择绑定,选择 https 条目,然后选择编辑

    站点绑定

  5. 编辑站点绑定中,从列表中选择证书,然后单击 确定

    编辑站点绑定

这样就完成了证书的更改。

或者,您可以使用 PowerShell 更改证书。

$certSubject = "CN=WHPBVTDEVDDC2.BVTTREE.LOCAL" # The FQDN of the server.
$frindlyName = "Self-Signed-3"
$expireYears = 5

## new self-signed certificate under LocalMachine\My
$certificate = New-SelfSignedCertificate -Subject $certSubject -CertStoreLocation "Cert:\LocalMachine\My" -KeyExportPolicy Exportable -KeySpec Signature -KeyLength 2048 -KeyAlgorithm RSA -HashAlgorithm SHA256 -FriendlyName $frindlyName -NotAfter $([System.DateTime]::Now.AddYears($expireYears))
Remove-Item -Path $Env:TEMP\tempCertificate.cer -Force -ErrorAction SilentlyContinue

## Import this certificate into LocalMachine\Root to let this OS trust this certificate
Export-Certificate -Type CERT -Force -Cert $certificate -FilePath $Env:TEMP\tempCertificate.cer -NoClobber
Import-Certificate -FilePath $Env:TEMP\tempCertificate.cer -CertStoreLocation "Cert:\LocalMachine\Root"

## Update bind the 0.0.0.0:443 with this certificate
Invoke-Command -ScriptBlock { Param ($param1) netsh http update sslcert ipport=0.0.0.0:443 certhash=$param1 } -ArgumentList @($certificate.Thumbprint)
<!--NeedCopy-->
保护 Web Studio 部署的安全(可选)