标签:nginx ip
针对nginx的模块介绍可以查阅wiki:http://wiki.nginx.org/Modules
常用模块:HTTP Core
原理:
squid,varnish以及nginx等,在做反向代理的时候,因为要代替客户端去访问服务器,所以,当请求包经过反向代理后,在代理服务器这里这个IP数据包的IP包头做了修改,最终后端web服务器得到的数据包的头部的源IP地址是代理服务器的IP地址,这样一来,后端服务器的程序给予IP的统计功能就没有任何意义,所以在做代理或集群的时候必须解决这个问题,这里,我以nginx做集群或代理的时候如何给后端web服务器保留(确切的说是传递)客户端的真实IP地址。
首先,在前端nginx上需要做如下配置:
location / {
proxy_pass http://192.168.100.100;
proxy_set_hearder host $host;
proxy_set_header X-Real_IP $remoute_addr;
};
在后端192.168.100.100的apache服务器上配置文件进行如下修改。
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
改为
LogFormat "%{X-Real-IP}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
即可。
本文出自 “秋天的童话” 博客,请务必保留此出处http://wushank.blog.51cto.com/3489095/1678370
标签:nginx ip
原文地址:http://wushank.blog.51cto.com/3489095/1678370