網(wǎng)站關(guān)鍵詞選擇軟文推廣文案
經(jīng)常搭建網(wǎng)站服務(wù)器的都知道,在給站點使用了 CDN 后 Web 應(yīng)用的日志記錄里就會只記錄 CDN 節(jié)點 IP 了,這就沒法看到真實客戶請求 IP,對于日志分析、運維日常維護來說就有點兒麻煩了,今天明月結(jié)合在五洛云服務(wù)器上搭建的Apache環(huán)境給大家分享一下讓日志記錄客戶真實 IP,畢竟網(wǎng)上的教程很多都是 Nginx 的并且還沒法通用。
有關(guān) Nginx 相關(guān)的大家可以參考往期文章【使用上海云盾 CDN 和 CloudFlare 后 Nginx、 WordPress、 Typecho 獲取訪客真實 IP 方法】一文,Apache下還是跟 Nginx 小有區(qū)別的。因為從 Apache 2.4 版開始自帶了mod_remoteip
?模塊,就算你用的是寶塔面板,默認安裝也都是 2.4.X 版本了,所以本文幾乎不限制你的生產(chǎn)環(huán)境。
寶塔面板默認安裝 Apache 的版本截圖
我們要做的就是確認當前的 Apache 是否已經(jīng)啟用了mod_remoteip
模塊,一般只需要查看 Apache 默認主配置文件http.conf
里是否有如下這個模塊的加載語句即可:
LoadModule remoteip_module modules/mod_remoteip.so
寶塔面板里 Apache 的主配置文件位置在/www/server/apache/conf/http.conf
,大家直接在文件里找到這個文件雙擊編輯查看就是了。如果已經(jīng)載入這個模塊就進行下一步,否則就要修改為加載這個模塊(去掉注釋),然后重啟一下 Apache 即可。
然后,我們還要在 Apache 擴展配置目錄(/www/server/apache/conf/extra/
)里修改mod_remoteip.conf
文件內(nèi)容使用?RemoteIPProxiesHeader
?從指定字段獲取信任 CDN IP(一般 CDN 都會支持的),這樣不用設(shè)置指定代理 IP(CDN 節(jié)點 IP),如下:
RemoteIPHeader X-Forwarded-For
RemoteIPProxiesHeader X-Forwarded-By
最后再在http.conf
文件結(jié)尾引用這個mod_remoteip.conf
文件,如下:
Include /www/server/apache/conf/extra/mod_remoteip.conf
再繼續(xù)修改http.conf
文件里記錄日志格式,使之記錄訪客 IP,搜索下面兩行內(nèi)容:
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
將里面的?%h?改為?%a(完整格式選項可查看此文檔),修改后的內(nèi)容如下:
LogFormat "%a %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%a %l %u %t \"%r\" %>s %b" common
保存退出,重啟 Apache 后,再去看網(wǎng)站日志是不是訪客真實 IP 就有了,不再是 CDN 的節(jié)點 IP 了都。
如果你使用的 CDN 不是融合 CDN,而是獨立 CDN 的話,如:CloudFlare,這類 CDN 服務(wù)商都會給你提供詳細準確的 CDN 節(jié)點 IP 的,從安全角度來說這種 CDN 才是真正安全、靠譜、實力雄厚的 CDN,我們可以直接修改mod_remoteip.conf
文件加上 CDN 節(jié)點 IP 地址段(多個以英文空格隔開),如下:
RemoteIPHeader X-Forwarded-For
RemoteIPInternalProxy 173.245.48.0/20 103.21.244.0/22 103.22.200.0/22 103.31.4.0/22 141.101.64.0/18 108.162.192.0/18 190.93.240.0/20 188.114.96.0/20 197.234.240.0/22 198.41.128.0/17 162.158.0.0/15 104.16.0.0/13 104.24.0.0/14 172.64.0.0/13 131.0.72.0/22
如此修改后保存,重啟 Apache 就可以了,此法僅限非融合 CDN 哦,也就是給你提供 CDN 節(jié)點 IP 的時候再用就是了。
最后明月提醒大家開啟網(wǎng)站日志是個很好的運維習慣,一旦出現(xiàn)任何問題都可以借助日志找到根源和解決應(yīng)對辦法的,關(guān)閉日志記錄就算是運維高手也沒辦法給你快速解決問題,基本都是盲猜了!放心,開啟日志占用不了多少存儲空間的,再說還可以定時自動的切割日志呢!