兔八哥极品软件园    运行: 4506天 | 文章:640 篇 | 评论:527 条 | 碎语:1条

Nginx反向代理 简单架设

作者:admin 发布于:2012-5-30 11:17 Wednesday


location / {
	    proxy_pass http://192.168.1.101:800;
	    proxy_set_header Host $host;
	    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		   }
    	}

proxy_set_header  Host  $host

首先说明 proxy_set_header 指令在向反向代理的后端Web服务器发起请求时添加指定的 Header头信息,

后端web服务器有多个基于域名的虚拟主机时,通过头信息Host,用于指定请求的域名,

这样后端web才能识别反向代理请求哪个虚拟主机处理。

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for :

在后端web中就算加上$http_x_Forwarded_for这条,也得不到用户的IP,

所以在nginx反向代理添加 Header头信息 X-Forwarded-For在配合后端服务器日志文件的$http_x_Forwarded_for

就可以获得用户的IP地址了。


 PS:假设Nginx作为Web服务器,nginx或Squid作为反向代理后,就不能获取客户端的真实IP地址了,由于在客户端和Web增加了 中间层,web没有真实的IP,通过$remote_addr变量拿到是反向代理的IP,Web代理可以增加$http_x_Forwarded_for 信息,用于记录客户端IP和原来客户请求的服务器地址,在日志格式中加上即可。


Powered by 兔八哥极品软件 苏ICP备12049267号 sitemap