这篇文章页不错:
http://www.tuicool.com/articles/E32mYf
假如说我们现在的架构是,nginx做反向代理,apache做web服务器。那么我们怎么让我的web服务器的访问日志显示的是真实客户访问的IP呢?
正常情况下我们的访问日志显示的是反向代理服务器的地址,所以我们要做一定的修改让我们的web服务的访问日志显示真实访问者的IP地址。
需要做如下的调整:
比如说我现在有一台虚拟主机的配置如下:我们需要添加 proxy_set_header X-Forwarded-For $remote_addr;
server {
listen 80 ;
server_name big.bao.com;
server_tokens off ;
location / {
proxy_next_upstream http_502 http_504 error timeout invalid_header;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://big;
access_log logs/big.access.log main;
error_log logs/big.error.log;
}
expires 1d;
现在我们再修改一下web服务器的配置文件 vim /etc/httpd/conf/httpd.conf
把%h修改为%(X-Real-IP)
这样在我们的web服务器的访问日志就可以看到访问者的真实IP地址了,这样的话,就不会和之前一样看到的访问IP的地址都是代理服务器的IP