我是靠谱客的博主 冷静星星,最近开发中收集的这篇文章主要介绍Nginx之反向一级多级客户端IP透传(Q),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

理解

所谓透传:就是后端web服务器 可以看到真实的客户端地址
在这里插入图片描述
进一步理解;
通常来说,设置了反向代理,在web服务器端是看不到 client端ip的 只能看到nginx proxy的ip
在这里插入图片描述
设置透传步骤
1、设置

nginx proxy上 /apps/nginx/conf.d/pc.conf设置

在这里插入图片描述
设置完成后必做

nginx -t
nginx -s reload

需要注意的是 X-Real-IP是变量 可更改 ,但是这里做了更改的话
在这里插入图片描述
在web2中也需要更改
在这里插入图片描述
设置完成后必做

systemctl restart httpd

2.测试

在客户端执行命令
在这里插入图片描述
在web服务器端查看
在这里插入图片描述
在这里插入图片描述
目前已经实现了一级代理的IP透传
3.拓展:设置X-Forwarded-For

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#添加客户端IP和反向代理服务器IP到请求报文头部

在一级代理设置透传里 看不出效果,正常在web服务端查看,还是只能看到客户端ip
在这里插入图片描述
4.多台代理测试

多级代理客户端IP透传;在10.0.0.28里 查看 X-Forwarded-For
能看到7和8的IP么?
在这里插入图片描述
5.继续设置

在10.0.0.8上设置
在这里插入图片描述
在10.0.0.18上设置
在这里插入图片描述
设置后都要 nginx -s reload
在8和18服务器上查看 tail -f /apps/nginx/logs/access.log
在10.0.0.18上 设置为10.0.0.18后
在这里插入图片描述
在客户端查看到的是;
在这里插入图片描述
在18的nginx.conf设置;
在这里插入图片描述
执行nginx -s reload后
在这里插入图片描述
在28服务器上查看
在这里插入图片描述
但是没有查看到X-Forwarded_for
在8和18上开启开启X-Forwarded_for和 定义日志格式;
在这里插入图片描述
在8上查看 -表示没有X-Forwarded_for

[root@nginx conf.d]#tail -f /apps/nginx/logs/access.log

在这里插入图片描述
在18上查看 有X-Forwarded_for
在这里插入图片描述
设置完成

谢谢观赏

最后

以上就是冷静星星为你收集整理的Nginx之反向一级多级客户端IP透传(Q)的全部内容,希望文章能够帮你解决Nginx之反向一级多级客户端IP透传(Q)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(70)

评论列表共有 0 条评论

立即
投稿
返回
顶部