You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在OVH托管Kubernetes集群中配置APISIX获取真实客户端IP

OVH Kubernetes集群中APISIX转发真实客户端IP的配置方案

要在OVH托管的K8s集群里让APISIX转发真实客户端IP,仅启用real-ip插件是不够的,需要配合OVH负载均衡特性、APISIX配置以及K8s Service设置,具体步骤如下:

1. 确认OVH负载均衡的IP传递特性

OVH的K8s托管负载均衡会将真实客户端IP注入到X-Forwarded-For请求头中,但APISIX需要明确信任OVH LB的IP段,才会解析该头部的真实IP。你需要先获取OVH集群负载均衡的子网(可通过OVH控制台或API查询)。

2. 配置APISIX的real-ip插件

real-ip插件是核心,但必须正确配置可信地址和IP来源:

  • 路由级配置:在Ingress或APISIX Route注解中添加插件配置,示例:
    annotations:
      k8s.apisix.apache.org/plugin-real-ip: '{"source": "X-Forwarded-For", "trusted_addresses": ["OVH_LB_SUBNET/24"]}'
    
    替换OVH_LB_SUBNET为实际的OVH负载均衡子网。
  • 全局配置:如果需要所有路由都生效,可通过Helm的values.yaml设置全局插件参数:
    apisix:
      config:
        plugin_attr:
          real-ip:
            source: "X-Forwarded-For"
            trusted_addresses: ["192.168.0.0/24"] # 替换为OVH LB子网
    

3. 配置APISIX Service的流量策略

为避免K8s的SNAT机制覆盖客户端IP,需将APISIX暴露给OVH LB的Service设置externalTrafficPolicy: Local,确保流量直接路由到节点上的APISIX Pod,不经过K8s节点转发。在Helm values.yaml中配置:

apisix:
  service:
    type: LoadBalancer
    externalTrafficPolicy: Local

4. 确保上游服务接收真实IP

如果需要将真实IP传递给后端上游服务,可配合proxy-rewrite插件,在路由注解中添加:

annotations:
  k8s.apisix.apache.org/plugin-proxy-rewrite: '{"headers": {"X-Real-IP": "$remote_addr"}}'

这样APISIX会将解析后的真实IP注入到X-Real-IP头,传递给上游服务。

验证配置

部署一个测试上游服务(如httpbin的/ip端点),通过APISIX路由访问该服务,检查返回的IP是否为你的真实客户端IP,而非OVH负载均衡的IP。

内容的提问来源于stack exchange,提问作者Antoine Dussarps

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 05:00:07