Azure APIM自托管网关访问官方URL报404错误求助
问题排查与解决方案:Azure APIM自托管网关云端域名404错误
核心原因分析
APIM的官方域名(如apim-example.azure-api.net)默认指向托管网关(Managed Gateway),而你仅将Hello World API分配给了自托管网关。托管网关未同步该API的配置,因此访问云端域名时会返回404;直接访问自托管网关的LoadBalancer IP时,请求由已加载API配置的自托管网关处理,所以能正常返回200。
排查步骤
确认API的网关分配范围
- 登录Azure门户,进入你的APIM服务
- 导航到「API」→ 选择你的Hello World示例API
- 点击「设置」,滚动到「网关」区域,查看已勾选的网关列表
- 若仅勾选了你的自托管网关,说明托管网关无此API配置,这就是404的直接原因
验证流量路由逻辑
- 访问
https://apim-example.azure-api.net/example/kenny时,请求会被路由到托管网关,该网关无对应API,返回404 - 访问
https://XX.XX.XX.XX/example/kenny时,请求直接发送到自托管网关,该网关已加载API配置,返回正常响应
- 访问
解决方案
方案1:让托管网关也能处理该API
如果需要通过云端域名访问API,只需将API分配给托管网关:
- 在API的「设置」页面,勾选「Managed」(托管网关)选项
- 保存配置后等待2-5分钟(APIM需要同步配置到所有关联网关)
- 再次访问云端域名的API路径,即可正常返回200响应
方案2:为自托管网关配置自定义域名
如果希望特定域名直接指向自托管网关:
- 进入APIM后台的「自托管网关」页面,选择你的网关
- 点击「自定义域名」,添加目标域名(如
gateway-apim-example.azure-api.net) - 配置对应SSL证书(可使用APIM托管证书或自定义证书)
- 将域名的DNS解析记录指向自托管网关的LoadBalancer公网IP
- 完成后即可通过该自定义域名访问自托管网关的API
方案3:通过流量管理器实现全局路由
如果需要根据地域、负载等规则分配流量到自托管网关:
- 创建Azure流量管理器实例,添加自托管网关的LoadBalancer IP作为端点
- 将APIM云端域名的DNS解析指向流量管理器的域名
- 在流量管理器中配置路由规则,实现请求按需转发到自托管网关
注意事项
- 自托管网关与托管网关是独立的配置单元,API需明确分配到目标网关才能被处理
- 配置同步需要时间,修改网关分配后请勿立即测试,等待几分钟再验证
- 使用自定义域名时,务必确保SSL证书覆盖该域名,避免浏览器返回证书错误
内容的提问来源于stack exchange,提问作者José Pablo Medina Grande
相关产品推荐
相关产品推荐

