本篇文章為大家展示了怎么在Nginx中使用GeoIP模塊讀取IP所在的地域信息,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。
站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到開(kāi)魯網(wǎng)站設(shè)計(jì)與開(kāi)魯網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:做網(wǎng)站、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名與空間、虛擬主機(jī)、企業(yè)郵箱。業(yè)務(wù)覆蓋開(kāi)魯?shù)貐^(qū)。
Linux安裝GeoIP
yum install nginx-module-geoip
http_geoip_module使用場(chǎng)景
一、區(qū)別國(guó)內(nèi)外作HTTP訪問(wèn)規(guī)則
二、區(qū)別國(guó)內(nèi)城市地域作HTTP訪問(wèn)規(guī)則
yum 安裝好后找到安裝的模塊文件
如果nginx是用yun安裝的一般是安裝到 /etc/nginx/modules/目錄下
注意:如果nginx不是yum安裝的而是源碼編譯安裝的需要從新安裝編譯一次nginx加上此模塊,然后就不用手動(dòng)加入此模塊了。
手動(dòng)加入模塊
在nginx.conf配置文件的頭部載入模塊和http是同一個(gè)級(jí)別的
load_module "modules/ngx_http_geoip_module.so"; load_module "modules/ngx_stream_geoip_module.so";
因?yàn)镚eoIP是基于MaxMind 提供了數(shù)據(jù)庫(kù)文件來(lái)讀取地域信息的所以需要下載ip的地域文件。
這個(gè)數(shù)據(jù)庫(kù)是二進(jìn)制的,不能用文本編輯器打開(kāi),需要上面的 GeoIP 庫(kù)來(lái)讀取。
wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz #國(guó)家的地域IP wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz #城市的地域IP
然后解壓
load_module "modules/ngx_http_geoip_module.so"; load_module "modules/ngx_stream_geoip_module.so"; ....... http{ geoip_country /etc/nginx/geoip/GeoIP.dat; #加載國(guó)家IP geoip_city /etc/nginx/geoip/GeoLiteCity.dat; #加載城市IP ......... server { ...... location / { #判斷如果不是中國(guó)的就返回403; if ($geoip_country_code != CN) { return 403; } } #返回國(guó)家城市信息 location /myip { default_type text/plain; return 200 "$remote_addr $geoip_country_name $geoip_country_code $geoip_city"; } .... } }
上述內(nèi)容就是怎么在Nginx中使用GeoIP模塊讀取IP所在的地域信息,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。