nginx安裝GeoIP模組,遮蔽特定地區IP
老闆出國訪問不了公司的系統,想起當時設定了nginx,只允許中國的IP地址訪問。註釋掉規則後,老闆可以訪問公司系統。這裡寫篇部落格,記錄一下GeoIP模組的使用。我在aws上啟用了一個免費的主機,用的centos的映象。
[[email protected] ~]# vi /etc/yum.repos.d/nginx.repo [nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/6/$basearch/ gpgcheck=0 enabled=1 [[email protected] ~]# yum install nginx -y [2.安裝nginx_module_geoip[email protected] ~]# service nginx start Starting nginx:Starting nginx: [ OK ]
[[email protected] ~]# yum install nginx-module-geoip -y Loaded plugins: fastestmirror, refresh-packagekit, security Setting up Install Process Loading mirror speeds from cached hostfile * base: mirrors.aliyun.com * extras: mirrors.aliyun.com * updates: mirrors.aliyun.com Resolving Dependencies --> Running transaction check ---> Package nginx-module-geoip.x86_64 0:1.14.0-1.el6.ngx will be installed --> Processing Dependency: GeoIP for package: nginx-module-geoip-1.14.0-1.el6.ngx.x86_64 --> Processing Dependency: libGeoIP.so.1()(64bit) for package: nginx-module-geoip-1.14.0-1.el6.ngx.x86_64 --> Finished Dependency Resolution Error: Package: nginx-module-geoip-1.14.0-1.el6.ngx.x86_64 (nginx) Requires: GeoIP Error: Package: nginx-module-geoip-1.14.0-1.el6.ngx.x86_64 (nginx) Requires: libGeoIP.so.1()(64bit) You could try using --skip-broken to work around the problem You could try running: rpm -Va --nofiles --nodigest
報錯,通過yum search geoip查詢,發現倉庫裡沒有安裝包。
安裝epel倉庫,yum install epel-release -y,再次查詢,倉庫裡有GeoIP安裝包
3.下載GeoIP.datwget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
解壓後,我就放在了nginx目錄下。
4.修改配置檔案,使用IP篩選
為方便所有站點使用,我直接在/etc/nginx/nginx.conf中寫入載入
load_module /usr/lib64/nginx/modules/ngx_http_geoip_module.so; load_module /usr/lib64/nginx/modules/ngx_stream_geoip_module.so; ... geoip_country /etc/nginx/GeoIP.dat;
配置單個站點使用規則,開啟/etc/nginx/conf.d/default.conf
set $deny 0;
if ($geoip_country_code != "CN"){
set $deny 1;
return 302 $scheme://$host/405.html;
}
if ($deny = 1){
return 302 $scheme://$host/405.html;
}
這裡設定的,非中國IP不能訪問。
走代理測試成功。
相關推薦
nginx安裝GeoIP模組,遮蔽特定地區IP
老闆出國訪問不了公司的系統,想起當時設定了nginx,只允許中國的IP地址訪問。註釋掉規則後,老闆可以訪問公司系統。這裡寫篇部落格,記錄一下GeoIP模組的使用。我在aws上啟用了一個免費的主機,用的centos的映象。1.安裝nginx[[email protec
nginx安裝http_ssl_module模組,支援https
1,進入原始碼包,如: cd /usr/local/nginx-1.15.0/ 2,執行nginx -V命令檢視已經安裝的nginx模組(configure arguments:後面表示當前已經安裝的nginx模組)如: [[email protected] ~]
nginx的ngx_http_geoip2模組以精準禁止特定地區IP訪問
要求:對網站的資訊,比如某個訪問節點不想國內或者國外的使用者使用,禁止國內或者國外或者精確到某個城市的那種情況。 解決方式:1.Cloudfalre來實現禁止特定國家的ip訪問,比較簡單,但是需要money!!! &nb
nginx安裝其他模組
cd /usr/local/dev_tools/nginx-1.14.0 # 檢視可以使用的內建模組 ./configure --help # 例如新增統計模組 ./configure --with-http_stub_status_
身份證校驗,真實版,遮蔽了地區校驗
去掉了地區驗證 package packer; import java.util.Calendar; public class IdNumberValidate { public String idValidate( String idNumber) { Str
Ubuntu16 nginx安裝http_image_filter_module模組
目錄 配置image_filter 配置 重啟nginx 如何安裝呢? 安裝image_filter模組依賴的庫。 檢視之前的配置 新增上圖片模組【由於它是系統模組,不需要額外下載,直接新增就可以了】 進入安裝nginx的資料夾中
Nginx 安裝 SSL 證書,配置檔案各個引數的含義
相比 CRL 驗證方式,OCSP 就更加高效,OCSP 每次只查詢並獲取一條記錄。然而這些預設查詢 OCSP 的客戶端在獲得查詢結果的響應前勢必會一直阻塞後續的事件,在網路情況堪憂的情況下(尤其是大陸地區)會造成較長時間的頁面空白。並且一旦有黑客或者組織對CA的OCSP發動DDos攻擊(分散式拒絕攻擊),客
Nginx安裝echo模組
echo-nginx-module 模組可以在Nginx中用來輸出一些資訊,可以用來實現簡單介面或者排錯。 專案地址:https://github.com/openresty/echo-nginx-module 獲取Nginx原始碼 因為需要編譯模組,需要有Nginx原始碼。 如果已安裝Nginx,需
python初安裝出現的一點問題(pycharm無法安裝第三方模組,pip無法升級等)
今天安裝pyCharm準備熟悉下環境,安裝很順利,找個啟用碼什麼的,但是當我想匯入一個第三方模組的時候就出現了問題,問題如下圖所示對於一個剛入門的我來說,比較難過,看描述意思是模組pip沒有main屬性,描述的很清楚,但。。。怎麼解決呢。。。還好網上有一篇文章講了這個問題。。
安裝python pip,再安裝request模組,執行python程式碼
1,看到這篇文章,想試試用來測試我們的介面: 照著寫了python的引用 requests模組的程式碼, 執行python, 反饋說不能引入這個requests模組, 說用pip安裝requests模組, 命令端使用pip install requests反饋說沒
Nginx安裝google_perftools模組的方法
/********************************************************************* * Author : Samson * Date : 06/01/2015 * Test platform: *
MAC 使用 python3 安裝 PyMysql 模組,安裝 MySQL
MAC 使用 python3 PyMysql 模組連線 MySQL @(python3) python 標準資料庫藉口參考網站 不同的資料庫,需要下載不同的 DA API 模組。DB-API 是一個規範,定義了一系列必須的物件和資料庫存取方式,以便為各種各
Python:安裝setuptools,安裝MySQLdb模組,連線資料庫程式碼
一、準備工作 安裝MySQLdb需要事先安裝以下元件: 1.1 python yum install python-devel 1.2 mysql yum install mysql-devel 1.3 gcc yum ins
Nginx安裝報錯,引起我的對國內某個雲服務商的不滿,他的名字叫老華為
這家公司老矣!主要領導應該下課反省,我用阿里雲的伺服器從來沒有諮詢過他們客服關於技術方面的問題,華為的技術客服加我qq無數個,我自己反省我也是忒菜了。 使用華為雲,debian8,安裝Nginx的某個版本的時候,你會收到一個錯誤: chown: invalid user:
nginx增加GeoIP模組
Linux安裝GeoIP 附件地址:連結: https://pan.baidu.com/s/1dFl1zZN 密碼: x37s ./configure make make install 如果原已經安裝好的nginx,現在需要新增一個未被編譯安裝的模組
php中獲取nginx代理後的,客戶端真實IP
一般來說,PHP獲取IP用的是$_SERVER[‘REMOTE_ADDR’],但是經過代理後,這個方式獲取到的是代理伺服器的ip,不符合要求!如果需要獲取真實IP該做什麼呢? 1.修改nginx配置:p
yum安裝下的nginx,如何新增模組,和新增第三方模組
需求:生產有個介面是通過socket通訊。nginx1.9開始支援tcp層的轉發,通過stream實現的,而socket也是基於tcp通訊。 實現方法:Centos7.2下yum直接安裝的nginx,新增新模組支援tcp轉發;重新編譯Nginx並新增 --with-stream 引數。 實現過程: 1.
Ubuntu下編譯安裝nginx,新增rtmp模組,推流、拉流播放
mkdir nginx 切換到nginx目錄,下載壓縮包並解壓到當前工作目錄: wget http://nginx.org/download/nginx-1.12.1.tar.gz tar -zxvf nginx-1.12.1.tar.gz 安裝依賴的的庫: sudo ap
nginx安裝,nginx-lua模組安裝(centos7.3)
nginx安裝,nginx-lua,echo模組安裝 1 下載安裝LuaJIT [[email protected] mysql3306]# cd /usr/local/src [[email protected] src]# wget http://
循序漸進nginx(三):日誌管理、http限流、https配置,http_rewrite模組,第三方模組安裝,結語
[TOC] ----- 前置知識章節: 1.[介紹、安裝、hello world、location匹配](https://www.cnblogs.com/progor/p/13338483.html)✅ 2.[反向代理、負載均衡、快取服務、靜態資源訪問](https://www.cnblogs.com/p