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

相关推荐
acd120098 小时前
一次线上OOM排查实录:从jmap到代码重构,我踩过的坑全在这了
容器·重构·kubernetes
天蓝不会忘记0211 小时前
k8s集群部署的方法原理
云原生·容器·kubernetes
红球yyds13 小时前
用anisble搭建k8s集群及原理
云原生·容器·kubernetes
tang7778915 小时前
Scrapy框架动态IP自动轮换集成配置教程
爬虫·tcp/ip·scrapy·架构·爬虫代理·动态ip
牛大兵15 小时前
机顶盒获取局域网已经使用IP,开放的端口号,扫描摄像头,NAS,共享主机等开机自启局域网全量扫描工具
数据库·网络协议·tcp/ip
Thneonl16 小时前
让恢复动作敢按下去:dry-run、审批门、自动回滚与 mutable twin
rust·kubernetes
XUEYUAN521216 小时前
代理 IP 的三层架构:从网络层到应用层的技术拆解
网络·tcp/ip·架构
dog25017 小时前
多路径聚合效率的统计理论
网络·tcp/ip
剑锋所指,所向披靡!17 小时前
TCP并发服务器
服务器·网络·tcp/ip
东风破_1 天前
Docker 基础:为什么需要容器?
前端·后端·nginx