1. 程式人生 > >Nginx遮蔽訪問過於頻繁的IP

Nginx遮蔽訪問過於頻繁的IP

有幾個IP過於頻繁的訪問,頻繁查詢資料庫,導致機器負載很高,於是根據實際情況,參考 http://gdl.pzhl.net/?p=149 遮蔽掉訪問頻繁的IP,問題得以解決,在這裡貼出來,供大家參考參考.

指令碼需要根據實際的nginx log 格式,修改,取出 訪問IP 和User-Agent.

在nginx配置檔案中新增一條配置

include ./vhost/blockip.conf;

指令碼內容:

#!/bin/bash
      nginx_home=/usr/local/webserver/nginx
      log_path=/usr/local/webserver/nginx/logs
      tail -n50000 /usr/local/webserver/nginx/logs/access.log \
      |awk '{print $1,$12}' \
      |grep -i -v -E "google|yahoo|baidu|msnbot|FeedSky|sogou" \
      |awk '{print $1}'|sort|uniq -c|sort -rn \
      |awk '{if($1>1000)print "deny "$2";"}' >$nginx_home/conf/vhost/blockip.conf
      /etc/init.d/nginx reload

這樣之後,那幾個IP被遮蔽,機器負載已經恢復正常;

這個回頭自己測試一下


相關推薦

Nginx遮蔽訪問過於頻繁IP

有幾個IP過於頻繁的訪問,頻繁查詢資料庫,導致機器負載很高,於是根據實際情況,參考 http://gdl.pzhl.net/?p=149 遮蔽掉訪問頻繁的IP,問題得以解決,在這裡貼出來,供大家參考參考. 指令碼需要根據實際的nginx log 格式,修改,取出 訪問IP

nginx遮蔽某一ip訪問

假設我們想禁止訪問nginx次數最多的ip訪問我們的網站 我們可以先查出那個ip訪問次數最多 awk '{print $1}' nginx.access.log |sort |uniq -c|s

Python分析NGINX日誌裏面相同IP第一次訪問時間和最後一次訪問時間

NGINX 日誌分析 Python 有個小夥伴在群裏問如何分析一下相同IP訪問NGINX的第一次訪問時間和最後一次訪問時間,折騰了好一會最後寫出來測試一下,OK沒問題的,所以就記錄在這裏。思路:1、文件讀取2、先找出只訪問一次的 只有一次時間3、訪問多次的 尋找開始時間和 最後一次時間

nginx遮蔽某段IP、某個國家的IP

nginx中可通過寫入配置檔案的方法來達到一定的過濾IP作用,可使用deny來寫。 deny的使用方法可用於前端伺服器無防護裝置的時候過濾一些異常IP,過濾的client ip會被禁止再次訪問,起到一定的阻斷作用。 但是,在現在這個網路環境非常負載的情況,實際阻斷的IP可能都是一些代理模擬出來的,所以遇到

nginx設定訪問白名單(ip

針對要配置的域名配置檔案: server {     listen       443;     server_name  abc.com;     #access_log  /server/nginx/log/abc.com.log  main;     ssl     

Nginx中如何限制某個IP同一時間段的訪問次數

如何設定能限制某個IP某一時間段的訪問次數是一個讓人頭疼的問題,特別面對惡意的ddos攻擊的時候。其中CC攻擊(Challenge Collapsar)是DDOS(分散式拒絕服務)的一種,也是一種常見的網站攻擊方法,攻擊者通過代理伺服器或者肉雞向向受害主機不停地發大量資料

Nginx使用limit_req_zone對同一IP訪問進行限流

nginx可以使用ngx_http_limit_req_module模組的limit_req_zone指令進行限流訪問,防止使用者惡意攻擊刷爆伺服器。ngx_http_limit_req_module模組是nginx預設安裝的,所以直接配置即可。 首先,在nginx.con

代理後端的 Nginx 限制真實客戶端IP訪問問題

一、背景–當前問題 1、正常情況,nginx 限制ip訪問方式: # nginx http\server 塊中配置 allow 192.168.6.0/16; # allow all; deny 1.2.3.4/32; # deny all;

Django Nginx反代 獲取真實ip

sts conf 獲取 pip style mon else 整數 real p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Andale Mono"; color: #28fe14; background-col

Nginx部署訪問控制(Web)

gin .tar.gz src nginx配置文件 htpasswd use 創建服務 tar 修改配置文件 一、Nginx 1.優點 1)多並發數:30000 - 50000 2)網易、騰訊等 3)新聞、論壇等 4)靜態網頁 5)輕量級 6)nginx+tomcat:負載

Nginx 限制訪問速率

並發 修改 body clas onf 說明 con gin class 本文測試的nginx版本為nginx version: nginx/1.12.2 Nginx 提供了 limit_rate 和limit_rate_after,舉個例子來說明一下在需要限速的站點 se

Nginx訪問控制

image inf div limit exc exce 基於用戶 nginx unix 基於IP的訪問控制-http_access_module 允許     語法 allow address | CIDR | unix: | all   區域 http,server,l

[nginx]禁止訪問目錄下的某些擴展名文件

connect sse gpo ati AR oot windows body HR 禁止訪問目錄下的某些擴展名文件 這次我測一下,禁止訪問網站目錄下的 html/images/*.txt文件 [root@n1 nginx]# tree html/ html/ ├── 50

Nginx訪問日誌、Nginx的日誌切割、Nginx靜態文件不記錄日誌和過期時間

Linux學習筆記Nginx的訪問日誌 Nginx的日誌切割 Nginx靜態文件不記錄日誌和過期時間 Nginx的訪問日誌、Nginx的日誌切割、Nginx靜態文件不記錄日誌和過期時間

nginx 強制訪問https一共有3種方式

web強制訪問https一共有3種方式1、使用nginx的rewrite方法配置nginx.confserver { listen 80; server_name xxx.com; rewrite ^(.*)$ https://$host

Nginx的防盜鏈、Nginx訪問控制、Nginx解析php的配置、Nginx代理

Linux學習筆記Nginx的防盜鏈 Nginx的訪問控制 禁止上傳圖片目錄裏php解析 Nginx解析php的配置 Nginx代理 Nginx的防盜鏈、Nginx的訪問控制、Nginx解析php的配置、Nginx代理

nginx配置訪問限制

ngx_http_limit_req_ ab 請求限制 nginx nginx官方文檔:http://nginx.org/en/docs/ 本次使用到的模塊是:ngx_http_limit_req_module  主要配置如下: ### http區域 limit_req_l

linux+nginx+phpfpm 訪問出現Access denied錯誤解決方案

技術分享 技術 gpo phpfpm post gin ces alt acc linux上安裝nginx,php-fpm後訪問頁面一直出現Access denied錯誤。 網上搜原因大概如下圖: 我試了第一個方案,然後就好了。linux+nginx+phpfpm 訪問出

nginx填坑補充(nginx根據上下文跳轉ip或者域名)

store access allow tro 跳轉 head 不同的 域名 root 今天有一個需求,要根據上下文調到不同的ip或域名地址,使用上下文做域名跳轉的時候,proxy_pass域名後面一定要帶‘/’否則會把nginx的上下文自動帶入,這樣就行。 location

12.10-12.12 Nginx訪問日誌,日誌切割,靜態文件不記錄日誌和過期時間

nginx訪問日誌12.10 Nginx訪問日誌12.11 Nginx日誌切割12.12 靜態文件不記錄日誌和過期時間12.10 Nginx訪問日誌1 打開配置文件,搜索/log_format,查看日誌文件格式。或者直接grep過濾出來[root@AliKvn vhost]# grep -A2 log_for