如何通过Terraform配置Azure API Management自托管网关主机名
Azure API Management自托管网关主机名Terraform配置方法
自托管网关的主机名配置完全可以通过Terraform实现,你查阅的azurerm_api_management_gateway资源文档未提及相关配置,是因为主机名配置不属于该基础资源的内嵌参数,需要通过独立的关联资源完成配置。
核心实现逻辑
- 自托管网关的自定义主机名绑定、SSL证书关联能力,由
azurerm_api_management_gateway_host_name_configuration资源提供,该资源专门用于给指定自托管网关配置主机名相关规则。 - Azure侧不会自动完成域名DNS解析的预配,主机名配置完成后,需要你自行在DNS服务商处将域名指向自托管网关前端的负载均衡或节点入口IP。
参考配置示例
# 基础自托管网关资源 resource "azurerm_api_management_gateway" "selfhost" { name = "prod-selfhost-gateway" api_management_id = azurerm_api_management.main.id description = "Production self-hosted gateway cluster" location { latitude = 31.23 longitude = 121.47 } } # 主机名配置绑定 resource "azurerm_api_management_gateway_host_name_configuration" "custom_domain" { name = "prod-gw-domain-config" api_management_id = azurerm_api_management.main.id gateway_name = azurerm_api_management_gateway.selfhost.name host_name = "gw.example.com" certificate_id = azurerm_api_management_certificate.wildcard.id negotiate_client_certificate = false http2_enabled = true tls10_enabled = false tls11_enabled = false }
配置注意事项
- 绑定主机名前,需要先将对应域名的SSL证书上传到目标APIM实例,通过证书资源ID完成关联,不支持直接在主机名配置资源中传入本地证书文件。
- 单网关支持绑定多个主机名,只需创建多个
azurerm_api_management_gateway_host_name_configuration资源、指向同一个网关实例即可。 - 可根据实际安全需求,在主机名配置资源中开启客户端证书校验、TLS版本控制、HTTP/2支持等参数。
内容的提问来源于stack exchange,提问作者sampa
相关产品推荐
相关产品推荐

