在 Terraform Azure 应用服务资源中配置 CORS

Configuring CORS in a Terraform Azure App Service Resource

我有以下用于配置 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)?

目前不支持。你可以查看 azurerm_app_service.

目前terrform版本不支持cors

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

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

全部,

现在可以在这里找到: 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"
  }
}

并证明以上有效: