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

相关推荐
Think Spatial 空间思维3 小时前
【SSL部署与优化】如何为网站启用HTTPS:从Let‘s Encrypt免费证书到Nginx配置
nginx·https·证书·部署·ssl·配置·优化
Hfc.5 小时前
ubuntu20.04系统搭建k8s1.28集群-docker作为容器运行时
ubuntu·kubernetes
彬彬醤5 小时前
查询电脑伪装IP,网络安全速查攻略!
网络·网络协议·tcp/ip·安全·web安全·http·https
酷爱码7 小时前
Nginx的核心功能--正向代理、反向代理、缓存和Rewrite
运维·nginx·缓存
熙曦Sakura7 小时前
【Linux网络】TCP全连接队列
linux·网络·tcp/ip
筱宇***7 小时前
Mac的web服务器
mysql·nginx·macos·php
星星点点洲8 小时前
【网络协议】TCP、HTTP、MQTT 和 WebSocket 对比
网络协议·tcp/ip·http
君鼎9 小时前
TCP/IP-——C++编程详解
网络·c++·tcp/ip
像风一样自由202012 小时前
局部放电在线监测系统的数据传输协议选择研究:Modbus TCP 与 MQTT
网络·网络协议·tcp/ip
alden_ygq12 小时前
Kubernetes Horizontal Pod Autosscaler(HPA)核心机制解析
云原生·容器·kubernetes