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

nginx限制ip訪問(wèn)頻率的實(shí)現(xiàn)示例

 更新時(shí)間:2023年07月31日 11:02:53   作者:csdncjh  
Nginx通過(guò)limit_conn_zone 和 limit_req_zone對(duì)同一個(gè)IP地址進(jìn)行限速限流,本文主要介紹了nginx限制ip訪問(wèn)頻率的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

Nginx通過(guò)limit_conn_zone 和 limit_req_zone對(duì)同一個(gè)IP地址進(jìn)行限速限流,可防止DDOS/CC和flood攻擊

limit_conn_zone是限制同一個(gè)IP的連接數(shù)。而一旦連接建立之后 ??蛻舳司蜁?huì)通過(guò)這次的連接發(fā)送多次請(qǐng)求,那么在此期間的請(qǐng)求頻率和速度進(jìn)行限制就需要limit_req_zone

limit_conn_zone配置

連接數(shù)限制,相當(dāng)于限制了nginx與客戶端之間的管道個(gè)數(shù)

http區(qū)塊的配置:

limit_conn_zone $binary_remote_address zone=asia; 10m;
# 這個(gè)配置的意思就是定義一個(gè)名為 asia的limit_conn_zone用來(lái)存儲(chǔ)session 
# 內(nèi)存為10m大小

server區(qū)塊配置如下;

limit_conn asia 2;
# 單個(gè)客戶端ip與服務(wù)器的連接數(shù)

limit_req_zone配置:

請(qǐng)求頻率 限制,相當(dāng)于限制了nginx與客戶端管道之間水的流速

http區(qū)塊配置:

limit_req_zone $binary_remote_addr zone=one:10m rate=5r/s;

server區(qū)塊配置:

limit_req_zone=one burst=10;

burst漏桶原理

rate=5r/s :從單一IP地址每秒5個(gè)請(qǐng)求是允許的

burst=10:允許超過(guò)頻率rate限制的請(qǐng)求數(shù)不多于10個(gè)

當(dāng)每秒請(qǐng)求超過(guò)5個(gè) 但是在10個(gè)以下,也就是每秒請(qǐng)求的數(shù)量在5-10之間的請(qǐng)求將被延時(shí)delay,雖然沒有明確的定義delay,默認(rèn)就是延時(shí)的,因?yàn)槁┩捌鋵?shí)類似隊(duì)列Queue或消息系統(tǒng),

當(dāng)每秒請(qǐng)求數(shù)量超過(guò)最低速率每5個(gè)請(qǐng)求時(shí),多余的請(qǐng)求將會(huì)進(jìn)入這個(gè)隊(duì)列排隊(duì)等待。如同機(jī)場(chǎng)安檢,一次放入5個(gè) 。多余5個(gè) 。小于10個(gè)排隊(duì)等待

注:這里的隊(duì)列或者漏桶是以秒為單位的

如果每秒的請(qǐng)求超過(guò)10個(gè) ,也就是超出了burst的限制 。那么也不用排隊(duì),而是直接回絕返回 503錯(cuò)誤(Service Temporarily Unavailable 服務(wù)暫時(shí)不可用)

如果我們使用nodelay:

limit_req zone=one burst=10 nodelay;

這表示,如果每秒請(qǐng)求在5-10個(gè)之間會(huì)盡快完成,也就是以每秒10個(gè)速率完成,超過(guò)每秒10+5也就是15個(gè)就立即返回503,因此nodelay實(shí)際沒有了延時(shí),也就取消了隊(duì)列等候過(guò)渡。

在Twitter Facebook LinkedIn這類大型網(wǎng)站中,由于訪問(wèn)量巨大,通常會(huì)在http服務(wù)器后面放置一個(gè)消息隊(duì)列,比如Apache Kafka,用來(lái)排隊(duì)大量請(qǐng)求,因此,對(duì)于中小型網(wǎng)站,推薦使用delay方案,而不要寫明nodelay,但是網(wǎng)絡(luò)上其他各種文章幾乎都是推薦nodelay.

防止POST攻擊:

上面總結(jié)了三個(gè)限速限流設(shè)置方式,還有一種能夠防止POST攻擊,黑客通過(guò)發(fā)出大量POST請(qǐng)求對(duì)網(wǎng)站各種URL進(jìn)行試探攻擊,可以通過(guò)下面方式防止

http {
... #nginx.conf 配置
#如果請(qǐng)求類型是POST 將ip地址映射到 $limit 值
map $request_method $limit {
default "";
POST $binary_remote_addr;
}
#創(chuàng)造10mb zone內(nèi)存存儲(chǔ)二進(jìn)制ip
limit_req_zone $limit zone=my_zone:10m rate=1r/s;
}

帶寬限制:

limit_rate 50k;
limit_rate_after 500k;

當(dāng)下載的大小超過(guò)500k以后,以每秒50K速率限制。

示例

location /flv/ {
    flv;
    limit_rate_after 500k;
    limit_rate       50k;
}

來(lái)源 

Nginx 限制ip的訪問(wèn)頻率 (qq.com)

到此這篇關(guān)于nginx限制ip訪問(wèn)頻率的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)nginx限制ip訪問(wèn)頻率內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 前端加載訪問(wèn)速度優(yōu)化詳細(xì)指南(Nginx)

    前端加載訪問(wèn)速度優(yōu)化詳細(xì)指南(Nginx)

    在前端開發(fā)中,優(yōu)化頁(yè)面加載速度成為了開發(fā)者的一項(xiàng)重要任務(wù),下面這篇文章主要給大家介紹了關(guān)于前端加載訪問(wèn)速度優(yōu)化(Nginx)的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-06-06
  • 在Nginx服務(wù)器中啟用SSL的配置方法

    在Nginx服務(wù)器中啟用SSL的配置方法

    這篇文章主要介紹了在Ningx服務(wù)器中啟用SSL的配置方法,本文前提是已經(jīng)在Linux系統(tǒng)下安裝好了OpenSSL,需要的朋友可以參考下
    2015-08-08
  • 如何修改Nginx版本名稱偽裝任意web server

    如何修改Nginx版本名稱偽裝任意web server

    這篇文章主要介紹了修改Nginx版本名稱偽裝任意web server的方法,非常不錯(cuò),具有參考借鑒價(jià)值,感興趣的朋友一起學(xué)習(xí)吧
    2016-08-08
  • Nginx實(shí)現(xiàn)自簽名SSL證書生成與配置實(shí)現(xiàn)

    Nginx實(shí)現(xiàn)自簽名SSL證書生成與配置實(shí)現(xiàn)

    本文主要介紹了Nginx實(shí)現(xiàn)自簽名SSL證書生成與配置實(shí)現(xiàn),文章將詳細(xì)介紹生成自簽名SSL證書的步驟,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-09-09
  • Nginx負(fù)載均衡配置簡(jiǎn)單配置方法

    Nginx負(fù)載均衡配置簡(jiǎn)單配置方法

    Nginx作為負(fù)載均衡服務(wù)器,用戶請(qǐng)求先到達(dá)nginx,再由nginx根據(jù)負(fù)載配置將請(qǐng)求轉(zhuǎn)發(fā)至不同的Web服務(wù)器。下面通過(guò)本文給大家分享Nginx負(fù)載均衡配置簡(jiǎn)單配置方法,需要的的朋友參考下吧
    2017-08-08
  • Forever+nginx部署Node站點(diǎn)的方法示例

    Forever+nginx部署Node站點(diǎn)的方法示例

    這篇文章主要介紹了Forever+nginx部署Node站點(diǎn)的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • Nginx 實(shí)現(xiàn) TCP/DUP流量按 IP 動(dòng)態(tài)轉(zhuǎn)發(fā)操作方法

    Nginx 實(shí)現(xiàn) TCP/DUP流量按 IP 動(dòng)態(tài)轉(zhuǎn)發(fā)操作方法

    為優(yōu)化網(wǎng)絡(luò)性能和提升服務(wù)可用性,通過(guò)Nginx配置stream模塊根據(jù)客戶端IP地址動(dòng)態(tài)轉(zhuǎn)發(fā)TCP請(qǐng)求至不同后端服務(wù)器節(jié)點(diǎn),適用于數(shù)據(jù)庫(kù)代理、TCP服務(wù)負(fù)載均衡及地域或來(lái)源IP分流的流量調(diào)度等場(chǎng)景,本文給大家介紹Nginx 實(shí)現(xiàn) TCP/DUP流量按 IP 動(dòng)態(tài)轉(zhuǎn)發(fā)的操作
    2024-10-10
  • Nginx隱藏服務(wù)器端各類信息的方法

    Nginx隱藏服務(wù)器端各類信息的方法

    這篇文章主要介紹了Nginx隱藏服務(wù)器端各類信息的方法,包括隱藏HTTP頭信息和PHP版本號(hào)等等,需要的朋友可以參考下
    2015-07-07
  • Nginx中Location從零開始的配置教程

    Nginx中Location從零開始的配置教程

    這篇文章主要給大家介紹了關(guān)于Nginx中Location從零開始的配置教程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-10-10
  • nginx日志過(guò)大問(wèn)題解決

    nginx日志過(guò)大問(wèn)題解決

    nginx默認(rèn)的日志在logs/access.log,并且是一直累加寫入,時(shí)間長(zhǎng)了就會(huì)非常大,本文主要介紹了nginx日志過(guò)大問(wèn)題解決,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-04-04

最新評(píng)論