在ngnix的conf目錄下創(chuàng)建一個blockip.conf文件
里面放需要封禁的IP,格式如下
deny1.2.3.4;
在ngnix的HTTP的配置中添加如下內容
includeblockips.conf;

重啟 ngnix
/usr/local/nginx/sbin/nginx-sreload
然后你就會看到IP被封禁了,你會喜提403;

小思考:如何實現(xiàn)使用ngnix自動封禁ip的功能
1.AWK統(tǒng)計access.log,記錄每分鐘訪問超過60次的ip,然后配合nginx進行封禁 2.編寫shell腳本 3.crontab定時跑腳本
好了上面操作步驟列出來了,那我們先來實現(xiàn)第一個吧

操作一:AWK統(tǒng)計access.log,記錄每分鐘訪問超過60次的ip
awk'{print$1}'access.log|sort|uniq-cd|awk'{if($1>60)print$0}'
1.awk'{print$1}'access.log 取出access.log的第一列即為ip。
2.sort|uniq-cd去重和排序
3.awk'{if($1>60)print$0}'判斷重復的數(shù)量是否超過60個,超過60個就展示出來
操作二:編寫shell腳本,實現(xiàn)整體功能(寫了注釋代碼)
#不能把別人IP一直封著吧,這里就清除掉了
echo"">/usr/local/nginx/conf/blockip.conf
#前面最開始編寫的統(tǒng)計數(shù)據(jù)功能
ip_list=$(awk'{print$1}'access.log|sort|uniq-cd|awk'{if($1>60)print$0}')
#判斷這個變量是否為空
iftest-z"$ip_list"
then
#為空寫入11.log中,并重新啟動ngnix
echo"為空">>/usr/local/nginx/logs/11.log
/usr/local/nginx/sbin/nginx-sreload
else
#如果不為空前面加上deny格式和ip寫入blockip.conf中
echo"deny"$ip_list>/usr/local/nginx/conf/blockip.conf
#因為前面攜帶了行數(shù),所有我們需要去除掉前面的行數(shù),寫入后在讀取一次
ip_list2=$(awk'{print$3}'/usr/local/nginx/conf/blockip.conf)
#最后再把讀取出來的值,在次寫入到blockip.conf中
echo"deny"$ip_list2";">/usr/local/nginx/conf/blockip.conf
#重啟ngnix
/usr/local/nginx/sbin/nginx-sreload
#清空之前的日志,從最新的開始截取
echo"">/usr/local/nginx/logs/access.log
fi
操作三:使用crontab定時,來實現(xiàn)訪問每分鐘超過60的
crontab-e *****cd/usr/local/nginx/logs/&&ship_test.sh每一分鐘運行一次 systemctlrestartcrond.service重啟一下配置既可

審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
IP
+關注
關注
5文章
1862瀏覽量
155802 -
HTTP
+關注
關注
0文章
537瀏覽量
35345 -
文件
+關注
關注
1文章
594瀏覽量
26052 -
Shell
+關注
關注
1文章
375瀏覽量
25372 -
腳本
+關注
關注
1文章
409瀏覽量
29187
原文標題:Ngnix IP封禁以及實現(xiàn)自動封禁IP
文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
熱點推薦
請問如何實現(xiàn)固定mac在自動獲取ip之前
/forlinx/shell/mac.sh 結果:設備自動獲取的ip還是一直變化,推測是固定mac這步操作在自動獲取ip之后。請問如何實現(xiàn)固
發(fā)表于 01-13 07:05
為什么美國能封禁華為,中國卻不能封禁蘋果?
美國對于華為的封禁已經持續(xù)了相當長的一段時間了,美國以各種手段對華為進行打壓,以此來限制中國的發(fā)展。美國對于中國企業(yè)的封禁,并不僅僅只有這一次而已,早在之前美國就對中興采取了制裁,向中興收了天價
巴基斯坦為什么封禁了 TikTok
一旦 TikTok 整改成功,在巴基斯坦解封的機會還是有的。 繼印度之后,TikTok,中國出海最為成功的 App,又被另外一個國家封禁了。 這一回,是印度的老鄰居和老對頭,巴基斯坦。 是的,你沒有
開源下片神器“youtube-dl”被官方封禁
最近對于老司機們來說,有一個不得不關注的新聞——著名開源下片神器“youtube-dl”被GitHub官方封禁。
Facebook將無限期封禁美國總統(tǒng)特朗普帳號
據(jù)報道,F(xiàn)acebook CEO馬克·扎克伯格(Mark Zuckerberg)日前表示,F(xiàn)acebook將無限期封禁美國總統(tǒng)特朗普的帳號。有網友表示“特朗普也會被封號”“你號沒了”。
Twitter永久封禁特朗普賬號后Twitter股價跌逾6%
賬號最近的推文以及這些推文的上下文之后,特別是審視了人們在推特上以及外部對這些推文的接受和解讀方式之后,我們已經永久封禁該賬號,因為存在進一步煽動暴力的風險?!?美國前國家安全顧問弗林(Michael
發(fā)表于 01-12 13:14
?857次閱讀
快訊:亞馬遜回應封禁中國賣家賬號 中國聯(lián)通回應攜號轉網困難
近日,亞馬遜公司對關于封禁中國賣家賬號一事作出了回應,稱一共封禁約3000個中國賣家賬號,中國賣家的賬號涉嫌濫用客戶的賬號進行評論行為,造成的情節(jié)比較嚴重,才會作出暫停賣家賬戶的決定。
如何建立一個動態(tài)的IP黑名單
Nginx 通過 Lua + Redis 實現(xiàn)動態(tài)封禁 IPJava后端 3天前為了封禁某些爬蟲或者惡意用戶對服務器的請求,我們需要建立一個動態(tài)的 IP 黑名單。對于黑名單之內的
馬斯克明言將在完成收購Twitter后解除特朗普賬號的封禁
:Twitter對封禁賬號這件事應該謹慎處理,而這次大會上,馬斯克表示道:Twitter不應該存在永久封禁賬號這一處罰,永久封禁應該是用來處理那些機器人、詐騙、垃圾信息賬戶的。馬斯克還明確的表示他認為Twitter永久
攻防演練典型攻擊手法及防御手段
攻擊方通過部署大量的自動化掃描來實施信息的快速收集,這些掃描大部分通過代理池、云函數(shù)服務來實施,以繞過防守方對掃描方IP封禁的操作。下圖為通過某云函數(shù)來進行掃描,技術原理與代理池不同,但同樣能
詳細解讀爬蟲多開代理IP的用途,以及如何配置!
爬蟲多開代理IP是一種在爬蟲開發(fā)中常用的技術策略,主要用于提高數(shù)據(jù)采集效率、避免IP被封禁以及獲取地域特定的數(shù)據(jù)。
海外住宅IP代理優(yōu)勢綜合分析
掩藏 通過代理服務器替換用戶真實IP地址,形成物理層與代理層的雙重隔離屏障,有效避免因IP暴露導致的賬號關聯(lián)或封禁風險。例如跨境電商多賬號運營時,可為每個賬號分配唯一住宅IP,規(guī)避平臺
Ngnix IP封禁以及實現(xiàn)自動封禁IP
評論