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

Oracle云Kubernetes环境Nginx Ingress无法获取客户端真实IP咨询

排查与解决步骤

  • 第一步:给Ingress Controller的Service添加OCI专属annotation
    你当前使用的是OCI托管Kubernetes集群,默认创建的负载均衡实例不会自动透传客户端源IP,需要在ingress-nginx-controller Service的metadata.annotations下新增以下配置:
service.beta.kubernetes.io/oci-load-balancer-pass-through: "true"
service.beta.kubernetes.io/oci-load-balancer-proxy-protocol: "1"

更新配置后等待云厂商负载均衡实例同步完成。

  • 第二步:同步更新Ingress Nginx的ConfigMap配置
    如果开启了负载均衡的Proxy Protocol,需要在同命名空间下的ingress-nginx-controller ConfigMap中添加配置,启用Proxy Protocol支持和转发头识别:
data:
  use-proxy-protocol: "true"
  compute-full-forwarded-for: "true"
  forwarded-for-header: "X-Forwarded-For"
  • 第三步:验证配置生效
    执行命令kubectl get svc ingress-nginx-controller -n ingress-nginx -o jsonpath='{.spec.externalTrafficPolicy}',确认返回值为Local,避免配置未同步。
    如果你的域名前还部署了CDN、WAF等七层代理服务,需要额外在ConfigMap中添加trusted-proxies配置,填入代理服务的IP段:
data:
  trusted-proxies: "10.0.20.0/24,其他代理IP段"

配置全部更新完成后等待1分钟,重新访问服务再查看Ingress Pod日志,即可看到真实客户端公网IP。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 17:36:03