溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么在Nginx中使用GeoIP模塊讀取IP所在的地域信息

發(fā)布時(shí)間:2021-03-18 16:35:29 來源:億速云 閱讀:1026 作者:Leah 欄目:服務(wù)器

本篇文章為大家展示了怎么在Nginx中使用GeoIP模塊讀取IP所在的地域信息,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

Linux安裝GeoIP

yum install nginx-module-geoip

http_geoip_module使用場(chǎng)景

一、區(qū)別國(guó)內(nèi)外作HTTP訪問規(guī)則

二、區(qū)別國(guó)內(nèi)城市地域作HTTP訪問規(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ù)庫文件來讀取地域信息的所以需要下載ip的地域文件。

這個(gè)數(shù)據(jù)庫是二進(jìn)制的,不能用文本編輯器打開,需要上面的 GeoIP 庫來讀取。

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)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI