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地址:

相关推荐
cool320030 分钟前
二进制基于kubeasz部署 K8s 1.34.x 高可用集群实战指南-第四章:kubeasz部署集群k8s系统(4-4)
云原生·容器·kubernetes
cool320032 分钟前
ETCD每天凌晨2点自动备份 + 手动完整恢复
云原生·容器·kubernetes
血小溅1 小时前
🛡️ Nginx 域名证书配置与多域名代理完全指南
nginx
paul_chen211 小时前
Vite + Vue SPA 在子路径部署(内外网访问+Nginx 反向代理)
前端·vue.js·nginx
刘~浪地球1 小时前
Nginx + Tomcat 整合实战(四):会话管理与共享详解
运维·nginx·tomcat
刘~浪地球1 小时前
Nginx + Tomcat 整合实战(一):基础环境搭建与整合入门
nginx·tomcat·firefox
cool32001 小时前
Kubernetes集群节点扩容实战-kubeasz
java·开发语言·kubernetes
松小白song1 小时前
Modbus RTU/TCP 的区别
网络·网络协议·tcp/ip
为爱停留1 小时前
HTTPS 域名访问与 Nginx 全链路说明
网络协议·nginx·https
建军啊2 小时前
k8s云安全、devsecops等知识
云原生·容器·kubernetes