nginx的ngx_http_access_module 模組可以封配置內的ip或者ip段,語法如下:
deny ip如果規則之間有衝突,會以最前面匹配的規則為準。;deny subnet
;allow ip
;allow subnet
;# block all ips
deny all
;# allow all ips
allow all
;
下面說明假定nginx的目錄在/usr/local/nginx/
首先要建乙個封ip的配置檔案blockips.conf,然後vi blockips.conf編輯此檔案,在檔案中輸入要封的ip。
deny然後儲存此檔案,並且開啟nginx.conf檔案,在http配置節內新增下面一行配置:1.2.
3.4;
deny
91.212
.45.0/24
;deny
91.212
.65.0/24
;
include blockips儲存nginx.conf檔案,然後測試現在的nginx配置檔案是否是合法的:.conf
;
如果配置沒有問題,就會輸出:/usr
/local
/nginx
/sbin
/nginx
-t
the configuration file如果配置有問題就需要檢查下哪兒有語法問題,如果沒有問題,需要執行下面命令,讓nginx重新載入配置檔案。/usr
/local
/nginx
/conf
/nginx
.conf syntax
isok
configuration file
/usr
/local
/nginx
/conf
/nginx
.conf test
issuccessful
/usr/如下配置檔案local
/nginx
/sbin
/nginx
-s reload
location上面配置中禁止了192.168.1.1,允許其他內網網段,然後/
deny all
禁止其他所有ip。
首先執行下面的命令:
cd然後輸入403的檔案內容,例如:/usr
/local
/nginx
/html
vi error403
.html
your ip address is blocked. if you this an error, please contact webmaster with your ip at [email protected]
如果啟用了ssi,可以在403中顯示被封的客戶端ip,如下:
your
ip address
isblocked
.
儲存error403檔案,然後開啟nginx的配置檔案vi nginx.conf
,在server配置節內新增下面內容
# redirect server error pages to the static page然後儲存配置檔案,通過error_page
403/
error403
.html
;location =/
error403
.html
nginx -t
命令測試配置檔案是否正確,若正確通過nginx -s reload
載入配置。 封美國的ip段
wget有了國家的所有 ip 位址,要想遮蔽這些 ip 就很容易了,直接寫個指令碼逐行讀取 cn.zone 檔案並加入到 iptables 中 bin bash block traffic from a specific country written by vpsee.com country us...
Nginx 禁止某個IP或者IP段訪問的方法
在 執行過程中,我們有的時候需要對某個ip或者ip段進行封禁,禁止ip訪問本伺服器,如果伺服器的環境用的是nginx,下面我們來看看nginx如何禁止某個ip訪問!首先在nginx的conf目錄下建立名為blocksip.conf配置檔案 然後用vim開啟blocksip.conf檔案,寫入以下規則...
禁用IP的mysql php設計
禁用ip是安全的一部份。下面就分析下禁止ip的php mysql的程式設計,不足之處,請大家提出意見。就來個簡單的例子來說明一下。create table banned ip start int 10 not null default 0 ip end int 10 not null default...