Nginx環境使用CDN加速後網站日誌獲取真實使用者IP地址方法

天府雲創發表於2017-02-10

如今網站使用CDN加速已經越來越普及,在一定程度上可以解決我們自身伺服器速度慢問題,有些朋友的伺服器主機放在海外,由於物理距離和各種問題,國內的使用者訪問速度是比較慢的。我們可以用到CDN進行加速使用者訪問,因為CDN會根據使用者所在的節點進行就近提供節點訪問。

同時,我們還可以對一些不合理的訪問記錄進行攔截,雖然免費的工具作用不是很大,但是比不用還是有點用途的,但是我們肯定會發現,如果網站在使用CDN加速工具之後,如果我們希望檢視網站日誌,在記錄的IP會看到全部都是CDN節點的IP,而不是使用者真實的使用者IP記錄。

這樣,如果我們需要進行日誌分析時候就比較困難,恩威比較常用的就是Nginx環境,那我們如何針對Nginx環境進行設定,在既想用CDN加速的同時,網站的日誌也可以看到是真實IP地址。

第一、修改Nginx.conf檔案

/usr/local/nginx/conf/

一般是在這個目錄中有一個nginx.conf檔案,我們需要新增http中下面指令碼:

log_format  access  '$http_x_forwarded_for - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" ';

設定日誌格式,如果不想理解什麼意思的,直接加入就是了,我測試是沒有問題。

第二、修改當前站點格式日誌

/usr/local/nginx/conf/vhost/

檢查當前站點的配置檔案上面目錄,然後修改

access_log /www/wwwlogs/itbulu.com_nginx.log access;

紅色部分是我們需要修改/新增的。

第三、重啟Nginx

service nginx reload

重啟Nginx,如果看到都是Success,就表示nginx配置沒有問題。

總結,這裡我們很多朋友可能不會用同樣的Nginx環境,但是大概意思都差不多,我們針對性修改就可以。這樣,我們在使用CDN加速的同時,網站日誌中也可以看到真實的IP訪問記錄。

相關文章