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 分钟前
C++在Linux实现多线程和多进程的TCP服务器和客户端通信
linux·服务器·c语言·开发语言·c++·网络协议·tcp/ip
愤怒的小阿淇这就开摆18 分钟前
TCP四大拥塞控制算法总结
服务器·网络·tcp/ip
Tony聊跨境31 分钟前
如何有效检测住宅IP真伪?
网络·tcp/ip·ip
听我一言2 小时前
ESP32-WROOM-32 [创建AP站点-客户端-TCP透传]
网络·网络协议·tcp/ip·esp32
ps酷教程2 小时前
nginx架构篇(三)
nginx
莫得等待2 小时前
kubernetes架构
容器·架构·kubernetes
man20174 小时前
LNMP环境搭建、部署的整体流程和详细步骤
linux·mysql·nginx·php
谭舜心4 小时前
怎么让Nginx可以访问某一IP的每个后台controller接口
网络·tcp/ip·nginx
先生沉默先4 小时前
Unity webgl跨域问题 unity使用nginx设置跨域 ,修改请求头
运维·nginx·webgl
码农0005 小时前
nginx学习笔记
笔记·学习·nginx