首页 > 解决方案 > 如何将自定义域名与 Azure ARM 模板部署绑定

问题描述

我正在尝试使用以下独立部署策略将多租户应用程序部署到天蓝色。

  1. 为 Azure 弹性池中的每个租户创建一个新数据库。
  2. 为每个租户创建一个新的应用服务实例。
  3. 使用已从 Azure 购买的域名映射应用服务实例的自定义域名(例如:tenantname.mydomain.com)

我正在尝试使用以下 ARM 模板来执行此操作(为了降低复杂性,我只提到了模板的相关区域)

{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
    "sites_finaptestwebsite_name": {
        "defaultValue": "finaptestwebsite",
        "type": "String"
    },   
    "hostNameBindings_mydomain.finapsl.com_name": {
        "defaultValue": "mydomain.finapsl.com",
        "type": "String"
    },
    "hostNameBindings_finaptestwebsite.azurewebsites.net_name": {
        "defaultValue": "finaptestwebsite.azurewebsites.net",
        "type": "String"
    },
    "sites_finaptestwebsite_serverFarmId": {
        "defaultValue": "appServicePlanName",
        "type": "String"
    }
},
"variables": {},
"resources": [
    {
        "type": "Microsoft.Web/sites",
        "kind": "app",
        "name": "[parameters('sites_finaptestwebsite_name')]",
        "apiVersion": "2016-08-01",
        "location": "Central US",
        "scale": null,
        "properties": {
            "enabled": true,
            "hostNameSslStates": [
                {
                    "name": "[concat(parameters('sites_finaptestwebsite_name'),'.azurewebsites.net')]",
                    "sslState": "Disabled",
                    "virtualIP": null,
                    "thumbprint": null,
                    "toUpdate": null,
                    "hostType": "Standard"
                },
                {
                    "name": "[concat(parameters('sites_finaptestwebsite_name'),'.scm.azurewebsites.net')]",
                    "sslState": "Disabled",
                    "virtualIP": null,
                    "thumbprint": null,
                    "toUpdate": null,
                    "hostType": "Repository"
                },
                {
                    "name": "mydomain.finapsl.com",
                    "sslState": "Disabled",
                    "virtualIP": null,
                    "thumbprint": null,
                    "toUpdate": null,
                    "hostType": "Standard"
                }
            ],
            "serverFarmId": "[parameters('sites_finaptestwebsite_serverFarmId')]",
            "reserved": false,
            "siteConfig": null,
            "scmSiteAlsoStopped": false,
            "hostingEnvironmentProfile": null,
            "clientAffinityEnabled": true,
            "clientCertEnabled": false,
            "hostNamesDisabled": false,
            "containerSize": 0,
            "dailyMemoryTimeQuota": 0,
            "cloningInfo": null
        },
        "dependsOn": []
    },
    {
        "type": "Microsoft.Web/sites/hostNameBindings",
        "name": "[concat(parameters('sites_finaptestwebsite_name'), '/', parameters('hostNameBindings_finaptestwebsite.azurewebsites.net_name'))]",
        "apiVersion": "2016-08-01",
        "location": "Central US",
        "scale": null,
        "properties": {
            "siteName": "finaptestwebsite",
            "domainId": null,
            "hostNameType": "Verified"
        },
        "dependsOn": [
            "[resourceId('Microsoft.Web/sites', parameters('sites_finaptestwebsite_name'))]"
        ]
    },
    {
        "type": "Microsoft.Web/sites/hostNameBindings",
        "name": "[concat(parameters('sites_finaptestwebsite_name'), '/', parameters('hostNameBindings_mydomain.finapsl.com_name'))]",
        "apiVersion": "2016-08-01",
        "location": "Central US",
        "scale": null,
        "properties": {
            "siteName": "finaptestwebsite",
            "domainId": null,
            "azureResourceName": "finaptestwebsite",
            "azureResourceType": "Website",
            "customHostNameDnsRecordType": "CName",
            "hostNameType": "Managed"
        },
        "dependsOn": [
            "[resourceId('Microsoft.Web/sites', parameters('sites_finaptestwebsite_name'))]"
        ]
    }
]

}

部署失败并出现错误“未找到从 mydomain.finapsl.com 指向 {1} 的 CNAME 记录。也未找到替代记录 awverify.mydomain.finapsl.com 到 awverify.finaptestwebsite2.azurewebsites.net。

不能通过这种方式将自定义域名绑定到 azure app 服务吗?非常感谢您为解决此问题提供的帮助。我已经尝试了两天多。

标签: azureazure-resource-managerazure-deploymentazure-resource-group

解决方案



推荐阅读