在Terraform Azure App服务资源中配置CORS

时间:2017-12-08 16:16:30

标签: azure cors terraform azure-virtual-network azure-sdk

我有以下用于配置Azure应用服务的Terraform资源:

resource "azurerm_app_service" "app_service" {
  name                = "Test-App-Service-3479112"
  location            = "${azurerm_resource_group.resource_group.location}"
  resource_group_name = "${azurerm_resource_group.resource_group.name}"
  app_service_plan_id = "${azurerm_app_service_plan.app_service_plan.id}"

  site_config {
    dotnet_framework_version = "v4.0"
    remote_debugging_version = "VS2012"
  }

  app_settings {
    "ASPNETCORE_ENVIRONMENT" = "test"
    "WEBSITE_NODE_DEFAULT_VERSION" = "4.4.7"
  }
}

我正在尝试添加要在我的资源中使用的CORS原点值。有没有办法在Terraform中添加它,或者如果没有,我怎么能在我的Terraform文件中配置它(可能使用Azure SDK)?

2 个答案:

答案 0 :(得分:2)

目前,它不受支持。您可以查看azurerm_app_service

在目前的terrform版本中,不支持cors。

如果可能,您可以使用Azure模板执行此操作,您可以查看此example

 "properties": {
        "cors": {
          "allowedOrigins": [
            "[concat('https://', parameters('siteName'), '.azurewebsites.net')]"
          ]
        },

答案 1 :(得分:1)

全部

现在可以在这里找到: https://www.terraform.io/docs/providers/azurerm/r/app_service.html#cors

这是我的示例:

resource "azurerm_app_service" "my-app" {
  name                = "${var.api_name}"
  location            = "${var.location}"
  resource_group_name = "${var.resource_group}"
  app_service_plan_id = "${azurerm_app_service_plan.api_asp.id}"

  site_config {
    cors {
      allowed_origins = ["https://${var.ui_name}${var.dns_suffix}"]
    }
  }

  identity = {
    type = "SystemAssigned"
  }
}

并证明以上内容有效: enter image description here