nginx 多层代理 + k8s ingress 后端服务获取客户真实ip 配置

1.nginx http 七层代理

修改命令空间:

namespace: nginx-ingress :

configmap:nginx-configuration

bash 复制代码
kubectl get cm nginx-configuration  -n ingress-nginx  -o yaml

添加如上配置

compute-full-forwarded-for: "true"

forwarded-for-header: X-Forwarded-For

use-forwarded-headers: "true"

即可;

  1. nginx stream 4层代理:

nginx 需要编译增加--with-stream_realip_module模块,然后对应的server块中添加参数,proxy_protocol on; 如下图所示:


前面的4层代理更改好之后,ingress解析不了包,会报错 '400 Bad Request',需要修改ingress cm nginx-configuration 配置 , 增加 use-proxy-protocol: "true" 。如下图:

查看日志,为真实客户端ip地址:

相关推荐
科技块儿1 小时前
如何选择合适的IP查询工具?精准度与更新频率全面分析
网络·tcp/ip·安全
Zach_yuan1 小时前
传输层之TCP/UDP 核心原理全解析:从协议基础到实战机制
linux·网络协议·tcp/ip·udp
kong79069281 小时前
Nginx性能优化
java·nginx·性能优化
云姜.2 小时前
TCP协议特性
服务器·网络·tcp/ip
Harvey90313 小时前
通过 Helm 部署 Nginx 应用的完整标准化步骤
linux·运维·nginx·k8s
陈桴浮海13 小时前
Kustomize实战:从0到1实现K8s多环境配置管理与资源部署
云原生·容器·kubernetes
张小凡vip14 小时前
Kubernetes--k8s中部署redis数据库服务
redis·kubernetes
Hello.Reader15 小时前
Flink Kubernetes HA(高可用)实战原理、前置条件、配置项与数据保留机制
贪心算法·flink·kubernetes
ShiLiu_mtx16 小时前
k8s - 7
云原生·容器·kubernetes