這篇文章頁不錯:
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