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

相关推荐
风曦Kisaki8 小时前
Kubernetes(K8s)笔记Day06: 持久化存储(emptyDir,hostPath,NFS),PV 和 PVC,StorageClass存储类
linux·运维·笔记·云原生·容器·kubernetes
Crazy________12 小时前
k8s部署若依微服务架构流程,v3.6.6
运维·云原生·容器·kubernetes·状态模式
xiaoxiangsiyan15 小时前
GitLab CI/CD 自托管(EE 企业版)+ Kubernetes Runner 集群 + ArgoCD(GitOps 部署)
运维·网络·ci/cd·容器·kubernetes·gitlab·argocd
PC2005-cloud15 小时前
KubeSphere 安装到插件管理实战:本地 K8s 搭建可视化容器平台
云原生·容器·kubernetes
是良辰16 小时前
Docker Nginx HTTPS 自签证书部署完整操作文档
nginx·docker·https
沉迷学习 日益消瘦17 小时前
19-集群升级与维护
kubernetes
凌虚17 小时前
Kubernetes 编年史:从 Borg 到云原生操作系统
后端·程序员·kubernetes
2401_8734794019 小时前
IPv6查出来的地理位置是错的?用双栈IP库解决定位偏差问题
网络·数据库·tcp/ip·ip
ACGkaka_19 小时前
网络学习(五):从零理解 VIP 虚拟 IP
网络·学习·tcp/ip
大鱼>19 小时前
从零实现TCP/IP协议栈:AR →IP分片→TCP状态机→拥塞控制
网络·网络协议·tcp/ip