nginx做为反向代理对X-Forwarded-For的设置
2016-11-15 18:50
239 查看
X-Forwarded-For:简称XFF头,它代表客户端,也就是HTTP的请求端真实的IP,只有在通过了HTTP 代理或者负载均衡服务器时才会添加该项。它不是RFC中定义的标准请求头信息,在squid缓存代理服务器开发文档中可以找到该项的详细介绍。
标准格式如下:
X-Forwarded-For: client1, proxy1, proxy2
从标准格式可以看出,X-Forwarded-For头信息可以有多个,中间用逗号分隔,第一项为真实的客户端ip,剩下的就是曾经经过的代理或负载均衡的ip地址,经过几个就会出现几个。
在默认情况下,Nginx并不会对X-Forwarded-For头做任何的处理,除非用户使用proxy_set_header 参数设置:
(1)
+------+ +------+ +------+
| | | nginx| | |
| 源站 | <=====> | proxy| <=====> |client|
| | | | | |
+------+ +------+ +------+
proxy_set_header X-Forwarded-For $remote_addr;
(2)
+------+ +------+ +------+ +------+| | | nginx| | | | || 源站 | <=====> | proxy| <=====> |CDN | <=====> |client|| | | | | | | |+------+ +------+ +------+ +------+1> CDN设置X-Forwarded-For $remote_addr2> proxy_set_header X-Forwarded-For $remote_addr
(3)+------+ +------+ +------+ +------+ +------+| | | nginx| | | | | | || 源站 | <=====> | proxy| <=====> |CDN | <=====> |client| <=====> |client|| | | | | | | | | |+------+ +------+ +------+ +------+ +------+
标准格式如下:
X-Forwarded-For: client1, proxy1, proxy2
从标准格式可以看出,X-Forwarded-For头信息可以有多个,中间用逗号分隔,第一项为真实的客户端ip,剩下的就是曾经经过的代理或负载均衡的ip地址,经过几个就会出现几个。
在默认情况下,Nginx并不会对X-Forwarded-For头做任何的处理,除非用户使用proxy_set_header 参数设置:
(1)
+------+ +------+ +------+
| | | nginx| | |
| 源站 | <=====> | proxy| <=====> |client|
| | | | | |
+------+ +------+ +------+
proxy_set_header X-Forwarded-For $remote_addr;
(2)
+------+ +------+ +------+ +------+| | | nginx| | | | || 源站 | <=====> | proxy| <=====> |CDN | <=====> |client|| | | | | | | |+------+ +------+ +------+ +------+1> CDN设置X-Forwarded-For $remote_addr2> proxy_set_header X-Forwarded-For $remote_addr
(3)+------+ +------+ +------+ +------+ +------+| | | nginx| | | | | | || 源站 | <=====> | proxy| <=====> |CDN | <=====> |client| <=====> |client|| | | | | | | | | |+------+ +------+ +------+ +------+ +------+
相关文章推荐
- nginx反向代理时,X-Forwarded-For 如何设置
- nginx 反向代理使apache或者tomcat日志中无法获取真实IP 的 X-Forwarded-For 参数的设定
- nginx反向代理时,X-Forwarded-For 如何设置
- nginx反向代理时,X-Forwarded-For 如何设置
- Nginx做反向代理和负载均衡时“X-Forwarded-For”信息头的处理
- nginx设置SSL反向代理
- 如何正确设置nginx中remote_addr和x_forwarded_for参数
- Nginx网站服务器设置反向代理
- Resin多端口设置以及Nginx反向代理设置(转)
- nginx做为反向代理实现负载均衡的例子
- Nginx的安装及反向代理设置
- nginx做为反向代理实现负载均衡的例子
- Nginx做代理时X-Forwarded-For信息头的处理
- nginx for windows 中虚拟主机路径设置问题
- Nginx做负载均衡时X-Forwarded-For信息头的处理
- [转]如何正确设置nginx中remote_addr和x_forwarded_for参数
- nginx做为反向代理实现负载均衡的例子
- Nginx做负载均衡时X-Forwarded-For信息头的处理
- nginx做为反向代理实现负载均衡的例子
- Nginx代理中X-Forwarded-For