Чтобы иметь собственное доменное имя (настраиваемый домен) для Api Management с помощью Terraform, я использую следующий сценарий для создания настраиваемого доменного имени для портала разработчика и прокси-сервера (API). Вы также можете иметь собственное имя для Управления и СКМ.
Этот сценарий требует наличия у вас pfx (сертификата) с именем letsencrypt.pfx
в том же каталоге, что и ваш скрипт Terraform.
resource "azurerm_api_management" "mngmnt" {
name = "ApiManagementTest"
location = "northeurope"
resource_group_name = "ApiManagement--rg"
publisher_name = "Api pubisher"
publisher_email = "contact@publisher.com"
hostname_configuration {
portal = [{
host_name = "api-portal.customdomain.com"
certificate = "${base64encode(file("letsencrypt.pfx"))}"
certificate_password = "topSecretPwd123"
}]
proxy = [{
host_name = "api.customdomain.com"
certificate = "${base64encode(file("letsencrypt.pfx"))}"
certificate_password = "topSecretPwd123"
}]
}
sku {
name = "Developer"
capacity = "1"
}
}
Чтобы пользовательский домен работал, вы также должны не забыть добавить запись CNAME в общедоступном DNS к следующему:
api-portal.customdomain.com -> [ваше имя управления Api] .portal.azure-api.net
api.customdomain.com -> [ваше имя управления API] .azure-api.net
Пример использования имени из нашего скрипта:
api-portal.customdomain.com -> ApiManagementTest.portal.azure-api.net
api.customdomain.com -> ApiManagementTest.azure-api.net