你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

证书和应用服务环境

注意

本文介绍与独立 v2 应用服务计划一起使用的应用服务环境 v3

应用服务环境是在 Azure 虚拟网络中运行的 Azure 应用服务的部署。 可以使用能够通过 Internet 访问的应用程序终结点或者虚拟网络中的应用程序终结点来部署 ASE。 如果使用可通过 Internet 访问的终结点来部署应用服务环境,则该部署称为外部应用服务环境。 如果使用虚拟网络中的终结点来部署应用服务环境,则该部署称为 ILB 应用服务环境。 可以在创建和使用 ILB 应用服务环境文档中详细了解 ILB 应用服务环境。

应用程序证书

托管在应用服务环境中的应用程序支持以下以应用为中心的证书功能,这些功能在多租户应用服务中也可用。 有关上传和管理这些证书的要求和说明,请参阅在 Azure 应用服务中添加 TLS/SSL 证书

在将证书添加到应用服务应用或函数应用后,即可使用它来保护自定义域名在应用程序代码中使用它

限制

托管在应用服务环境中的应用不支持应用服务托管证书

TLS 设置

可在应用级别配置 TLS 设置

专用客户端证书

一个常见用例是将应用配置为客户端-服务器模型中的客户端。 如果使用专用 CA 证书来保护服务器,则需要将客户端证书上传到应用。 以下说明介绍如何将证书加载到运行应用的辅助角色的信任存储中。 只需上传证书一次即可将它用于同一应用服务计划中的应用。

备注

专用客户端证书仅受 Windows 代码应用中的自定义代码支持。 应用外部不支持专用客户端证书。 这在某些场景下会限制使用,例如使用专用证书从注册表拉取应用容器映像,以及使用专用证书通过前端服务器进行 TLS 验证。

按照以下步骤将证书(.cer 文件)上传到应用服务环境中的应用。 可以从证书导出 .cer 文件。 出于测试目的,末尾有一个 PowerShell 示例,用于生成临时自签名证书:

  1. 在 Azure 门户中转到需要该证书的应用

  2. 在应用中转到“TLS/SSL 设置”。 选择“公钥证书(.cer)”。 选择“上传公钥证书”。 提供一个名称。 浏览并选择你的 .cer 文件。 选择“上传”。

  3. 复制指纹。

  4. 转到 配置>应用程序设置。 创建应用设置 WEBSITE_LOAD_ROOT_CERTIFICATES,并使用指纹作为值。 如果有多个证书,可将其放到同一个设置中,并用逗号分隔(不要包含空格),例如

    84EC242A4EC7957817B8E48913E50953552DAFA6,6A5C65DC9247F762FE17BF8D4906E04FE6B31819

该证书将由应用服务计划中的所有应用(该计划配置该设置)提供,但依赖于专用 CA 证书的所有应用都应配置应用程序设置以避免计时问题。

如果需要将该证书提供给不同应用服务计划中的应用使用,则需要在该应用服务计划中的应用中重复应用设置操作。 若要检查是否设置了证书,请转到 Kudu 控制台,并在 PowerShell 调试控制台中发出以下命令:

dir Cert:\LocalMachine\Root

若要执行测试,可以创建自签名证书,并使用以下 PowerShell 命令生成 .cer 文件:

$certificate = New-SelfSignedCertificate -CertStoreLocation "Cert:\LocalMachine\My" -DnsName "*.internal-contoso.com","*.scm.internal-contoso.com"

$certThumbprint = "Cert:\LocalMachine\My\" + $certificate.Thumbprint
$fileName = "exportedcert.cer"
Export-Certificate -Cert $certThumbprint -FilePath $fileName -Type CERT

后续步骤