如何修復web server,接收proxy server傳送來的真實訪客ip?

 

real_ip_nginx_wp

今天這是比較特殊的情況,因為分流問題,
web前端還有額外架設proxy server,來抓取web server的資料。

但是因為設定問題,導致web server,
只會抓到proxy server本身的ip,
而不是抓到訪客的真實IP。

這部份的處理核心分為兩個階段(特定規格):

  1. proxy server (nginx)的處理
  2. web server (apache)的處理

1.proxy server的部份: 因為是用nginx架設,其nginx.conf,或proxy.conf,或virtual.conf,已經設定好顯示訪客真實ip的語法(如本篇的封面圖片),
資料傳送到web server後,web server也需要有相對應的mod去接收,
其mod是mod_rpaf。

2.web server的部份:直接登入web server安裝mod_rpaf (以centos為例)。

cd /usr/local/src
wget http://mirror.trouble-free.net/sources/mod_rpaf-0.6.tar.gz
tar -xzf mod_rpaf-0.6.tar.gz
cd mod_rpaf-*
apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c

接著在cpanel apache裡設定載入mod_rpaf及其參數:

LoadModule rpaf_module modules/mod_rpaf-2.0.so
RPAFenable On
RPAFproxy_ips 127.0.0.1 在增加一組proxy的ip 
RPAFsethostname On
RPAFheader X-Real-IP

 

接著在重開apache,順利的話就可以抓到訪客真實ip,方便做購物記錄之類的。

 

(本篇教學由unethost.com客服撰寫)

延伸閱讀:如何備份Cpanel後台安裝的套裝程式?

安裝上述的軟體,我們提供虛擬主機試用,七天滿意保證,
功能完整使用不受限制,歡迎點我申請。