将自定义 SSL 证书绑定到 Web 应用

此示例脚本在应用服务中创建一个 Web 应用及其相关资源,然后将自定义域名的 SSL 证书绑定到该应用。 对于此示例,你将需要:

  • 访问域注册机构的 DNS 配置页的权限。
  • 需要上传和绑定的 SSL 证书的有效 .PFX 文件及其密码。

若要运行此示例,请确保已安装最新的 Azure CLI 2.0。 若要开始,请运行 az login 以创建与 Azure 的连接。

Note

运行 az login 之前,请先运行 az cloud set -n AzureChinaCloud 来改变云环境。如果想切回国际版 Azure,请再次运行 az cloud set -n AzureCloud

此示例在 Bash shell 中正常工作。 有关在 Windows 客户端上运行 Azure CLI 脚本的选项,请参阅在 Windows 中运行 Azure CLI

Note

如果没有 Azure 订阅,可在开始前创建一个试用帐户

示例脚本

#!/bin/bash

fqdn=<replace-with-www.{yourdomain}>
pfxPath=<replace-with-path-to-your-.PFX-file>
pfxPassword=<replace-with-your=.PFX-password>
webappname=mywebapp$RANDOM

# Create a resource group.
az group create --location chinanorth --name myResourceGroup

# Create an App Service plan in Basic tier (minimum required by custom domains).
az appservice plan create --name $webappname --resource-group myResourceGroup --sku B1

# Create a web app.
az webapp create --name $webappname --resource-group myResourceGroup \
--plan $webappname

echo "Configure a CNAME record that maps $fqdn to $webappname.chinacloudsites.cn"
read -p "Press [Enter] key when ready ..."

# Before continuing, go to your DNS configuration UI for your custom domain and follow the 
# instructions at https://docs.azure.cn/app-service-web/web-sites-custom-domain-name#step-2-create-the-dns-records to configure a CNAME record for the 
# hostname "www" and point it your web app's default domain name.

# Map your prepared custom domain name to the web app.
az webapp config hostname add --webapp-name $webappname --resource-group myResourceGroup \
--hostname $fqdn

# Upload the SSL certificate and get the thumbprint.
thumprint=$(az webapp config ssl upload --certificate-file $pfxPath \
--certificate-password $pfxPassword --name $webappname --resource-group myResourceGroup \
--query thumbprint --output tsv)

# Binds the uploaded SSL certificate to the web app.
az webapp config ssl bind --certificate-thumbprint $thumbprint --ssl-type SNI \
--name $webappname --resource-group myResourceGroup

echo "You can now browse to https://$fqdn"

清理部署

运行脚本示例后,可以使用以下命令删除资源组、应用服务应用以及所有相关资源。

az group delete --name myResourceGroup

脚本说明

此脚本使用以下命令。 表中的每条命令均链接到特定于命令的文档。

命令 说明
az group create 创建用于存储所有资源的资源组。
az appservice plan create 创建应用服务计划。
az appservice web create 创建 Azure Web 应用。
az appservice web config hostname add 将自定义域映射到 Web 应用。
az appservice web config ssl upload 将 SSL 证书上传到 Web 应用。
az appservice web config ssl bind 将上传的 SSL 证书绑定到 Web 应用。

后续步骤

有关 Azure CLI 的详细信息,请参阅 Azure CLI 文档

可以在 Azure 应用服务文档中找到其他应用服务 CLI 脚本示例。