首页 > Web开发 > 详细

【Nnginx】多层Web代理获取客户端源IP

时间:2019-09-16 20:24:04      阅读:86      评论:0      收藏:0      [点我收藏+]

Header头:
X-Real-IP(自定义,非标准)
X-Forwarded-For(扩展定义,已成标准)

Nginx变量:
$remote_addr:客户端地址
$proxy_add_x_forwarded_for:Header头中的X-Forwarded-For加$remote_addr
$http_x_forwarded_for:Header头中的X-Forwarded-For

反代Nginx添加如下设置:
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

例子:
A—>B—>C—>D
A为客户端,B和C为Nginx反代,D为服务端

A访问B时,X-Forwarded-For为空,$remote_addr为A的IP,故B转发到C时附带的Header头X-Forwarded-For即为A的IP;
B访问C时,X-Forwarded-For为A的IP,$remote_addr为B的IP,此时C转发到D附带的Header头X-Forwarded-For即为A的IP,B的IP;
C访问D时,D就可以拿C传来的X-Forwarded-For Header头来分析源IP。

【Nnginx】多层Web代理获取客户端源IP

原文:https://www.cnblogs.com/20190119-tl/p/11529574.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!