欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Nginx IP封禁及自動封禁IP的實現(xiàn)

 更新時間:2023年01月19日 10:40:38   作者:佞臣888  
本文主要介紹了Nginx IP封禁及自動封禁IP的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

1.在Nginx的conf目錄下創(chuàng)建一個blockip.conf文件

2.里面放需要封禁的IP,格式如下

deny 1.2.3.4;

3.在Nginx的HTTP的配置中添加如下內(nèi)容

include blockips.conf;

在這里插入圖片描述

4.重啟 Nginx 

/usr/local/nginx/sbin/nginx -s reload

然后你就會看到IP被封禁了,你會喜提403;

在這里插入圖片描述

7.小思考:如何實現(xiàn)使用Nginx自動封禁ip的功能

1.AWK統(tǒng)計access.log,記錄每分鐘訪問超過60次的ip,然后配合nginx進(jìn)行封禁
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}' 判斷重復(fù)的數(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}')

#判斷這個變量是否為空
if test -z "$ip_list"
then
        #為空寫入 11.log中,并重新啟動ngnix
        echo "為空"  >> /usr/local/nginx/logs/11.log

        /usr/local/nginx/sbin/nginx -s reload

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 -s reload
        #清空之前的日志,從最新的開始截取
        echo "" > /usr/local/nginx/logs/access.log

fi

操作三:使用crontab定時,來實現(xiàn)訪問每分鐘超過60的

這個crontab 就不多講的,不會的可以去看看我之前的博客地址如下
http://www.dbjr.com.cn/article/144881.htm

直接實操吧:

crontab -e 
* * * * * cd /usr/local/nginx/logs/ && sh ip_test.sh  每一分鐘運(yùn)行一次
systemctl restart crond.service 重啟一下配置既可

在這里插入圖片描述

到此這篇關(guān)于Nginx IP封禁及自動封禁IP的實現(xiàn)的文章就介紹到這了,更多相關(guān)Nginx IP封禁內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Nginx下修改WordPress固定鏈接導(dǎo)致無法訪問的問題解決

    Nginx下修改WordPress固定鏈接導(dǎo)致無法訪問的問題解決

    這篇文章主要介紹了Nginx下修改WordPress固定鏈接導(dǎo)致無法訪問的問題解決,同時作者也給出了官方關(guān)于修改固定鏈接的方法,需要的朋友可以參考下
    2015-07-07
  • nginx快速部署一個網(wǎng)站服務(wù)(多域名+多端口)

    nginx快速部署一個網(wǎng)站服務(wù)(多域名+多端口)

    本文主要介紹了nginx快速部署一個網(wǎng)站服務(wù),并實現(xiàn)多域名和多端口,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-10-10
  • Nginx配置實現(xiàn)高效精準(zhǔn)的流量限制策略詳解

    Nginx配置實現(xiàn)高效精準(zhǔn)的流量限制策略詳解

    限流(Rate?Limitting)是服務(wù)降級的一種方式,通過限制系統(tǒng)的輸入和輸出流量以達(dá)到保護(hù)系統(tǒng)的目的,下面我們就來看看如何通過配置Nginx實現(xiàn)高效精準(zhǔn)的流量限制策略吧
    2024-02-02
  • nginx修改默認(rèn)運(yùn)行80端口的方法

    nginx修改默認(rèn)運(yùn)行80端口的方法

    這篇文章主要給大家介紹了關(guān)于nginx是如何修改默認(rèn)運(yùn)行80端口的方法,文中介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-04-04
  • windows系統(tǒng)安裝配置nginx環(huán)境

    windows系統(tǒng)安裝配置nginx環(huán)境

    這篇文章介紹了windows系統(tǒng)安裝配置nginx環(huán)境的方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • 詳解Nginx的配置函數(shù)對于請求體的讀取

    詳解Nginx的配置函數(shù)對于請求體的讀取

    這篇文章主要介紹了Nginx的配置函數(shù)對于請求體的讀取,深入Nginx的內(nèi)核配置中進(jìn)行講解,需要的朋友可以參考下
    2015-12-12
  • 永中文檔在線轉(zhuǎn)換預(yù)覽基于nginx配置部署方案

    永中文檔在線轉(zhuǎn)換預(yù)覽基于nginx配置部署方案

    這篇文章主要為大家介紹了永中文檔在線轉(zhuǎn)換預(yù)覽基于nginx配置部署方案的實現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • Nginx 403 forbidden的解決辦法

    Nginx 403 forbidden的解決辦法

    這篇文章主要介紹了Nginx 403 forbidden的解決辦法,,需要的朋友可以參考下
    2014-03-03
  • Nginx多層代理配置方法

    Nginx多層代理配置方法

    這篇文章主要介紹了Nginx多層代理配置方法,此篇文章只給大家介紹nginx的多級代理配置代碼,需要的朋友可以參考下
    2017-08-08
  • Nginx IP封禁及自動封禁IP的實現(xiàn)

    Nginx IP封禁及自動封禁IP的實現(xiàn)

    本文主要介紹了Nginx IP封禁及自動封禁IP的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01

最新評論