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

相关推荐
鼠鼠我捏,要死了捏9 小时前
基于Kubernetes StatefulSet的有状态微服务部署与持久化存储实践经验分享
kubernetes·containers·statefulset
小阳睡不醒12 小时前
小白成长之路-k8s原理(一)
云原生·容器·kubernetes
佩佩(@ 。 @)13 小时前
网络编程-创建TCP协议服务器
服务器·网络·tcp/ip
haogexiaole14 小时前
K8S核心知识点
云原生·容器·kubernetes
MC皮蛋侠客16 小时前
使用Python实现DLT645-2007智能电表协议
python·网络协议·tcp/ip·能源
檀越剑指大厂16 小时前
【Nginx系列】查看 Nginx 的日志
运维·nginx
yuxb7321 小时前
集群与负载均衡:HAProxy 与 Nginx 实践
运维·nginx·负载均衡
努力买辣条1 天前
基于 Docker 的高可用 WordPress 集群部署:分布式 Nginx + Keepalived、MySQL 主从复制与 ProxySQL 读写分离
分布式·nginx·docker
萌虎爱分享2 天前
Docker容器化部署实战:Tomcat与Nginx服务配置指南
nginx·docker·tomcat·容器部署
最好的药物是乌梅2 天前
OSI参考模型&TCP/IP模型 二三事
tcp/ip·计算机网络·408·流量控制·osi模型·计算机考研·拥塞控制