如何在不修改CNAME指向APIM的情况下配置Azure Front Door与APIM自定义域名
问题描述
我正尝试为Azure API Management(APIM)网关配置自定义域名api.mydomain.de,同时让流量通过Azure Front Door路由。
当前配置
- 自定义域名:
api.mydomain.de - Azure Front Door:
api.mydomain.de通过CNAME映射到Front Door端点mydomain-gateway-d5dnaahpgpe9axh6.z01.azurefd.net,Front Door将流量路由至APIM网关默认域名apim-name.azure-api.net - DNS:已配置CNAME记录,将
api.mydomain.de指向上述Front Door端点
目标
- 维持流量通过Azure Front Door流转的前提下,在APIM中使用自定义域名
api.mydomain.de - APIM开发者门户中,展示给开发者的API网关URL为
api.mydomain.de,而非默认的apim-name.azure-api.net
遇到的问题
在APIM中添加api.mydomain.de作为自定义域名时,系统要求该域名的CNAME必须直接指向apim-name.azure-api.net,但我希望保留CNAME指向Front Door以利用其缓存、全局路由等功能。
已尝试操作
已完成Front Door的DNS配置和路由规则,流量可正常转发至APIM;但无法在不修改CNAME指向的情况下将自定义域名添加到APIM,且不想绕过Front Door。
请问如何配置APIM以使用api.mydomain.de作为自定义域名,同时仍通过Azure Front Door路由流量?是否无需修改CNAME指向即可完成配置?
解决方案
无需修改现有CNAME指向,可通过以下步骤实现需求:
1. 用TXT记录完成APIM域名所有权验证
APIM支持通过TXT记录替代CNAME记录完成域名验证:
- 在DNS服务商处添加TXT记录:主机名设为
api.mydomain.de,值填入APIM门户添加自定义域名时生成的验证令牌 - 保存记录后返回APIM门户完成验证,即可成功添加
api.mydomain.de作为自定义域名
2. 配置Front Door后端主机头
确保Front Door路由规则中的后端主机头设置为APIM默认域名apim-name.azure-api.net,保证APIM能正确识别并处理来自Front Door的请求。
3. 完善APIM自定义域名配置
在APIM中完成域名添加后,进入该自定义域名的配置页:
- 确认绑定服务类型为网关(Gateway)
- 关联
api.mydomain.de的SSL证书(可使用Azure托管证书或自定义上传证书)
4. 验证开发者门户展示
完成上述配置后,APIM开发者门户会自动将API网关URL替换为api.mydomain.de,无需额外调整。
核心逻辑说明
通过TXT记录验证域名所有权,绕开了CNAME必须指向APIM的强制要求,既保留了Front Door的流量路由能力,又能让APIM使用自定义域名对外展示,流量全程通过Front Door流转。
内容的提问来源于stack exchange,提问作者bouthayna hamdi

