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

相关推荐
岁岁种桃花儿10 分钟前
深入理解 Keepalive:从协议到 Nginx 实战(全场景解析)
运维·nginx
康小庄14 分钟前
通过NGINX实现将小程序HTTPS请求转为内部HTTP请求
java·spring boot·nginx·spring·http·小程序
风一样的男子&20 分钟前
kylin桌面版v10安装docker和k8s
docker·kubernetes·kylin
努力搬砖的咸鱼33 分钟前
为什么需要 Kubernetes
微服务·云原生·容器·kubernetes
向上的车轮42 分钟前
TCP/IP 协议解析:ChatDemo
网络·网络协议·tcp/ip
牵牛老人1 小时前
Qt后端开发遇到跨域问题终极解决方案 与 Nginx反向代理全解析
qt·nginx·状态模式
再学一点就睡1 小时前
IP从入门到起飞:妈妈再也不用担心我不会网络基础啦
前端·后端·tcp/ip
oMcLin10 小时前
如何在 Ubuntu 22.10 上通过 Kubernetes 和 Helm 管理微服务应用,简化跨平台电商平台的自动化部署?
ubuntu·微服务·kubernetes
小目标一个亿12 小时前
Windows平台Nginx配置web账号密码验证
linux·前端·nginx
Love Song残响12 小时前
深入解析TCP/IP协议栈:从底层到应用层
网络·tcp/ip·php