通过 Terraform 为应用服务创建自定义域

Create custom domain for app services via terraform

我正在通过 terraform 创建 azure 应用程序服务,并遵循位于该站点的文档: https://www.terraform.io/docs/providers/azurerm/r/app_service.html

这是 terraform 脚本的片段:

resource "azurerm_app_service" "app" {
  name                = "app-name"
  location            = "${azurerm_resource_group.test.location}"
  resource_group_name = "${azurerm_resource_group.test.name}"
  app_service_plan_id = "ommitted"

  site_config {
    java_version           = "1.8"
    java_container         = "TOMCAT"
    java_container_version = "8.5"
  }
  }

我的应用程序服务也需要子域,但我无法在 terraform 中找到任何帮助:

截至目前 url 应用服务是: https://abc.azure-custom-domain.cloud

我希望我的 url 是: https://*.abc.azure-自定义-domain.cloud

我知道这可以通过门户网站完成,但我们可以通过 Terraform 完成吗?

这是不可能的。您可以使用您提供的 link。如果参数不在,则terraform不支持​​该参数。

您需要在 Azure 门户上完成。

我遇到了同样的问题,不得不在 short-term 中使用 PowerSHell 来克服它。也许你可以让 Terraform 触发 PSHell 脚本……我还没试过!!!

PSShell如下:-

$fqdn="www.yourwebsite.com"
$webappname="yourwebsite.azurewebsites.net"
Set-AzureRmWebApp -Name <YourAppServiceName> -ResourceGroupName <TheResourceGroupOfYourAppService> -HostNames @($fqdn,$webappname) 

重要提示:确保您配置 DNS FIRST,即您尝试设置的自定义域的 CNAME 或 TXT 记录,否则 PSHell 甚至 Azure 门户手动方法将失败.

现在可以在 2018 年 4 月 6 日使用 app_service_custom_hostname_binding (since PR#1087

resource "azurerm_app_service_custom_hostname_binding" "test" {
  hostname            = "www.mywebsite.com"
  app_service_name    = "${azurerm_app_service.test.name}"
  resource_group_name = "${azurerm_resource_group.test.name}"
}