因为本网站最前端是NGINX,做的PROXY来转发请求到内部的apache上,所以获取的IP都是NGINX PROXY CILLENT IP。 这样很多基于IP判断的PHP程序都会出现一系列的问题 下面说说在Nginx做前端时让Apache能得到真实IP的做法 只修改NGINX的配置文件NGINX.CONF 在里面加上 说明:http://stderr.net/apache/rpaf/ 下载:http://stderr.net/apache/rpaf/download/ 最新版本是 mod_rpaf-0.6.tar.gz
-
Nginx做前端时让Apache能得到真实IP的做法
[Nginx]post by Holmesian / 2009-12-13 0:23 Sunday这只是告诉NGINX在反向代理的时候发送域名和客户真实IP Apache未必就会按照这个来接收 至少FreeBSD7 Apache2.2的环境下是不会的 所以这里推荐一个apache的第三方的modproxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;使用起来非常简单 首先安装接着在httpd.conf中添加# tar zxvf mod_rpaf-0.6.tar.gz 下载后解压# cd mod_rpaf-0.6 <br /> #/usr/local/bin/apxs -i -a -c mod_rpaf.c Apache 1.3.x 的安装方式#/usr/local/bin/apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c Apache 2.x 的安装方式确认全部操作成功后重启apache,好了 现在程序可以获取真实IP了。LoadModule rpaf_module modules/mod_rpaf-2.0.soRPAFenable OnRPAFsethostname OnRPAFproxy_ips 127.0.0.1 # 填写Nginx的来访IPRPAFheader X-Forwarded-For
发表评论: