Azure API Management使用通配符证书配置多子域名无URL后缀方案问询
Azure API Management 子域名直接映射API解决方案
完全可以实现,无需配置前端重写规则,Standard层级APIM原生支持基于主机头的API路由匹配,具体可行方案如下:
前提说明
你之前添加weather API时可以留空URL后缀正常运行,添加todo API时被要求必填后缀,是因为APIM同一个主机头下最多仅允许存在1个URL后缀为空的API,空后缀名额已经被weather API占用,所以新的API被要求填写后缀。通过主机头绑定规则可以直接绕开这个限制。
具体操作步骤
- 第一步:绑定自定义域名
进入APIM控制台的「自定义域名」配置页面,添加todo.company.eu、weather.company.eu两个自定义域名,绑定你持有的*.company.eu通配符SSL证书,确认域名状态为已启用。 - 第二步:为不同API绑定专属主机头
- 打开weather API的设置界面,找到「主机名」配置项,指定为
weather.company.eu,保持API URL后缀为空即可,后续所有发往weather.company.eu/*的请求都会自动路由到该API。 - 打开todo API的设置界面,找到「主机名」配置项,指定为
todo.company.eu,此时你可以直接将API URL后缀设置为空(因为该主机头下没有其他API,空后缀校验不会触发),也可以随便填写一个仅作内部识别的后缀值,都不会影响公网访问路径。
- 打开weather API的设置界面,找到「主机名」配置项,指定为
路由匹配规则说明
APIM的路由匹配优先级为请求主机头 > API URL后缀,当API绑定了专属主机头后,只有发往对应子域名的请求才会进入该API的匹配逻辑,不同主机头下的API URL后缀互不干扰,完全不需要额外配置重写规则就可以实现子域名直接访问对应API。
补充说明:Standard层级APIM最多支持配置100个自定义域名,可满足绝大多数多子域名映射API的业务需求。如果后续需要在同一个子域名下暴露多个API,再通过不同的API URL后缀做区分即可。
内容的提问来源于stack exchange,提问作者msjonathan
相关产品推荐
相关产品推荐

