能否将带public IP的LoadBalancer接入API Management并通过LB路由流量?
公网负载均衡对接API Management问题解答
绑定公网IP的LoadBalancer完全可以对接API Management(以下简称APIM)作为流量入口,实现到APIM的流量路由,但并非任意LB解决方案都可以无配置直接将APIM作为后端对接,需要满足对应网络和配置要求,具体说明如下:
- 网络适配前提
- 公网暴露模式的APIM:公网LB可直接将APIM的公网接入端点加入后端池,只需要放通LB到APIM 443端口(HTTPS默认)的访问规则即可
- 内部VNet注入模式的APIM:公网LB无法直接跨公网对接,需要和APIM部署在同一连通VNet/对等VNet内,或先通过反向代理层做流量中转,否则网络层面无法连通
- LB必须满足的配置要求
- 不要随意改写请求
Host头:APIM会根据请求Host头匹配自定义域名、对应API路由,强制改写Host头会直接触发404、证书域名不匹配错误,如果业务必须改写Host,需要提前在APIM侧添加对应自定义域名配置 - 健康检查不要用默认TCP探测:建议配置HTTPS类型探测,指向APIM默认的健康检查路径
/status-0123456789abcdef,避免将流量转发到异常节点 - 透传必要请求头:如果需要APIM获取客户端真实IP,要在LB侧开启
X-Forwarded-For头传递,同时在APIM侧将LB的出口IP段加入可信IP列表,避免被WAF规则拦截 - TLS/SNI配置对齐:如果在LB侧做TLS终结,需要保证向后端APIM转发请求时携带正确的SNI信息,否则会触发TLS握手失败
- 不要随意改写请求
- 无法正常对接的LB场景
- 仅支持四层转发、强制改写源IP且无法透传原始请求头的LB方案,会触发APIM的Host、SNI校验失败,无法正常使用
- 配置了TLS终结但证书配置和APIM侧不匹配,且未做规则对齐的LB,会出现证书校验错误
内容的提问来源于stack exchange,提问作者csaba
相关产品推荐
相关产品推荐

