代码之家  ›  专栏  ›  技术社区  ›  focode

通过terraform为应用程序服务创建自定义域

  •  4
  • focode  · 技术社区  · 8 年前

    我正在通过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://*。美国广播公司。azure自定义域。云

    我知道这可以通过门户网站完成,但他们是否有任何方法可以通过terraform完成?

    3 回复  |  直到 8 年前
        1
  •  10
  •   Pirate Briggs    7 年前

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

    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}"
    }
    
        2
  •  1
  •   Shui shengbao    8 年前

    这是不可能的。你可以 link 您提供了。如果参数不在中,则terraform不支持该参数。

    您需要在Azure Portal上执行此操作。

        3
  •  -2
  •   user9476578    8 年前

    我也有同样的问题&必须使用PowerSHell在短期内克服它。也许你可以让Terraform触发PSHell脚本。。。我还没试过!!!

    PSHell如下:-

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

    重要提示:确保配置DNS 第一 i、 e.您试图设置的自定义域的CNAME或TXT记录,否则PSHell&即使Azure Portal手动方法也会失败。