k8s中无法获取到nginx-ingress的客户端真实ip地址x-forwarded-for

1.查看阿里云的nginx-ingress配置文档https://help.aliyun.com/document_detail/42205.html

容器K8s配置方案

如果您的服务部署在K8s上,K8s会将真实的客户端IP记录在X-Original-Forwarded-For字段中,并将WAF回源地址记录在X-Forwarded-For字段中。您需要修改容器的配置文件,使Ingress将真实的IP添加到X-Forwarded-For字段中,以便您正常获取真实的客户端IP地址。

您可以参考以下步骤,对容器配置文件进行修改。

执行以下命令修改配置文件kube-system/nginx-configuration。

kubectl -n kube-system edit cm nginx-configuration

在配置文件中添加以下内容:

compute-full-forwarded-for: "true"

forwarded-for-header: "X-Forwarded-For"

use-forwarded-headers: "true"

保存配置文件。

保存后配置即刻生效,Ingress会将真实的客户端IP添加到X-Forwarded-For字段中。

将业务程序获取客户端真实IP的字段修改为X-Original-Forwarded-For。

2.kubectl -n kube-system edit cm nginx-configuration

bash 复制代码
data:
  compute-full-forwarded-for: "true"
  forwarded-for-header: "X-Forwarded-For"
  use-forwarded-headers: "true" 

3.添加后可以获取到x-forwarded-for参数

4.咨询阿里云开发ingress不区分大小写,x-forwarded-for不能修改成X-Forwarded-For

相关推荐
qq_312920114 小时前
高并发防护:Nginx 流量控制
nginx
Jun6265 小时前
QT(10)-TCP数据收发
开发语言·qt·tcp/ip
电子科技圈5 小时前
CXL连接全面赋能AI与车载算力提升,SmartDV CXL全栈IP加速相关芯片设计
人工智能·网络协议·tcp/ip·机器学习·自动驾驶·边缘计算
秋漓5 小时前
Nginx学习与应用
运维·学习·nginx
海绵宝宝de派小星5 小时前
MCP与A2A协议深度解析:Agent时代的“TCP/IP“如何诞生
arm开发·网络协议·tcp/ip·ai
专注VB编程开发20年6 小时前
上位机监控接收数据(从站)-Modbus TCP 从机(Slave)模式多站点设计
网络·网络协议·tcp/ip
xiaogg36787 小时前
Rancher2.0搭建kubernetes(K8S)集群
云原生·容器·kubernetes
成为你的宁宁7 小时前
【基于 Prometheus Operator 监控 K8s控制器、调度器、代理组件】
kubernetes·prometheus
IT策士7 小时前
第 44篇 k8s之实战:将 Web 应用迁移到 Kubernetes(上)
前端·容器·kubernetes