1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > ip代理服务器8需要云速捷_nginx获取真实ip proxy_set_head怎么设置头部信息

ip代理服务器8需要云速捷_nginx获取真实ip proxy_set_head怎么设置头部信息

时间:2020-10-17 06:41:44

相关推荐

ip代理服务器8需要云速捷_nginx获取真实ip proxy_set_head怎么设置头部信息

nginx作为web服务器一个重要的功能就是反向代理。

当然你也可以使用nginx配置正向代理,本是介绍如何配置nginx的反向代理。

nginx反向代理的指令不需要新增额外的模块,默认自带proxy_pass指令,只需要修改配置文件就可以实现反向代理。

$proxy_add_x_forwarded_for

$http_x_forwarded_for

这两个的变量的值的区别,就在于,proxy_add_x_forwarded_for 比http_x_forwarded_for 多了一个$remote_addr的值,但是$remote_addr 只能获取到与服务器本身直连的上层请求ip,所以设置$remote_addr一般都是设置第一个代理上面;但是问题是,有时候是通过cdn访问过来的,那么后面web服务器获取到的,永远都是cdn 的ip 而非真是用户ip,那么这个时候就要用到X-FORward—for了,这个变量的意思,其实就像是链路反追踪,从客户的真实ip为起点,穿过多层级的proxy ,最终到达web 服务器,都会记录下来,所以在获取用户真实ip的时候,一般就可以设置成,proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 这样就能获取所有的代理ip 客户ip。

在打印log 的时候

$http_x_real_ip|$remote_addr

就是 用户的真是ip

配置如下

proxy_set_headerX-Real-IP$remote_addr;

proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;

还有一种情况就是,客户在经过cdn请求的时候,本来$proxy_add_x_forwarded_for这里记录的值都全部都包括,但是,当你需要取值的时候,会发现,即便用排除代理ip模块。

set_real_ip_from100.0.0.0/8;(这里是已知的代理ip)

real_ip_headerX-Forwarded-For;

real_ip_recursiveon;

X-Forwarded-For

里依然有多个ip,这个时候直接取值$http_x_real_ip 就好了,但是前提条件是,cdn 那边也设置了X-forward,不然,你这边获取的你认为是用户的ip 其实是cdn的ip。

原文来自:http://985.so/kUBFLinux命令大全:/

官方站点:

Linux命令大全:

Linux系统下载站:

刘遄老师QQ:5604922

Linux技术交流群:193666693

(新群,火热加群中……)

书籍在线学习(电脑阅读效果佳)

/chapter-00.html

想要学习Linux系统的读者可以点击按钮来了解书籍《Linux就该这么学》,同时也非常适合专业的运维人员阅读,成为辅助您工作的高价值工具书!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。