Невозможно установить минимальную версию TLS для FrontDoor в terraform

Я использую terraform 1.44. Когда я пытаюсь запустить это:

resource "azurerm_frontdoor" "frontdoor" {
  name                                         = "my-fd"
  location                                     = "${azurerm_resource_group.default.location}"
  resource_group_name                          = "${azurerm_resource_group.default.name}"
  enforce_backend_pools_certificate_name_check = false

  routing_rule {
    .....
  }

  backend_pool_load_balancing {
    ......
  }

  backend_pool_health_probe {
    .....
  }

  backend_pool {
    .......
  }

  frontend_endpoint {
    name                                    = "myFrontendEndpoint"
    host_name                               = "my-custom.hostname.com"
    custom_https_provisioning_enabled       = true
    custom_https_configuration {
      certificate_source = "FrontDoor"
      minimum_tls_version = "1.2"
    }
  }
}

Это не срабатывает

Ошибка: "frontend_endpoint.custom_https_configuration.minimum_tls_version": это поле не может быть установлено

Согласно этой проблеме GitHub она уже должна быть решена, но ссылка на документацию не работает... И в текущей документации нет упоминания об этом поле...

Как я могу создать этот интерфейс? Без установкиminimum_tls_version это ошибки с

Ошибка при включении HTTPS пользовательского домена для конечной точки внешнего интерфейса: frontdoor.FrontendEndpointsClient#EnableHTTPS: Ошибка отправки запроса: StatusCode=400 - Исходная ошибка: Code="BadRequest" Message="\"minimumTlsVersion\"является обязательным параметром".

1 ответ

Решение

Из конфигурации SSL на входной двери Azure,

Все профили входной двери, созданные после сентября 2019 года, используют TLS 1.2 как минимум по умолчанию.

Front Door поддерживает TLS версий 1.0, 1.1 и 1.2. TLS 1.3 пока не поддерживается.

Из документа terraform атрибутminimum_tls_version только мог быть экспортирован из custom_https_configurationблок. Его нельзя использовать как ссылку на аргумент.

Например,

....
      frontend_endpoint {
        name                              = "exampleFrontendEndpoint1"
        host_name                         = "example-FrontDoor.azurefd.net"

        custom_https_provisioning_enabled       = true
        custom_https_configuration {
          certificate_source = "FrontDoor"

      }
      }
    }

    output "minimum_tls_version" {
      value = "${azurerm_frontdoor.example.frontend_endpoint[0].custom_https_configuration[0].minimum_tls_version}"
    }

Другие вопросы по тегам