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

相关推荐
江畔何人初6 小时前
iptables 和 IPVS 代理模式 Service 的区别
linux·运维·服务器·网络·云原生·kubernetes·代理模式
灰阳阳10 小时前
Dockerfile实践-构建Nginx镜像
运维·nginx·docker·dockerfile
三三有猫14 小时前
代理IP:按流量还是按IP/时长计费更划算?
网络·网络协议·tcp/ip
Doker 多克16 小时前
Kubernetes 之Deployments
kubernetes
未来转换17 小时前
计算机网络基础之IP地址详解
tcp/ip·计算机网络·php
芦芭荞18 小时前
QT之TCP/IP通讯
开发语言·qt·tcp/ip
李彦亮老师(本人)19 小时前
网络安全基础:TCP/IP 协议栈安全分析与防护
tcp/ip·安全·web安全
初中就开始混世的大魔王19 小时前
3.1 DDS 层-Core
开发语言·c++·网络协议·tcp/ip·信息与通信
有代理ip21 小时前
聚焦性价比:便宜动态IP在网络优化中的应用技巧
网络·网络协议·tcp/ip
笨手笨脚の21 小时前
k8s 中的一些小知识
云原生·容器·kubernetes