Nginx limit 限制訪問模塊的方法
Nginx 的 limit 模塊用于限制 Nginx 的訪問。
limit 模塊包含有兩個部分:
- limit_conn 用于對連接數(shù)量的限制
- limit_req 用于對請求頻率的限制
limit_conn
limit_conn 模塊的實現(xiàn)比 limit_req 簡單,直接對擁有相同變量值的連接進行計數(shù),超過限制的連接返回 503 錯誤(Service Temporarily Unavailable)。
實際上,由于某一時刻,一個連接上一般只有一個待處理請求,且由于 keepalive 和 phase 處理函數(shù)無法判斷連接狀態(tài) (新連接還是老連接),limit_conn 將正在處理的請求數(shù)作為連接數(shù)使用。
這個模塊包含以下部分:
limit_conn_zone
這個配置項用于指定連接數(shù)的計數(shù)空間。
# 語法 limit_conn_zone [$variable] zone=[zone-name]:[max-storage-space]; # 段 http # 示例 limit_conn_zone $binary_remote_addr zone=conn_ip:1m;
limit_conn
這個配置項用于指定連接數(shù)上限。
# 語法 limit_conn [zone-name] [max-connections]; # 段 http, server, location # 示例 limit_conn conn_ip 10;
limit_conn_status
可選項。該指令在 1.3.15 版本引入。指定拒絕請求時返回的 http code(狀態(tài)響應(yīng)碼)。
# 語法 limit_conn_status [http-code]; # 段 http, server, location # 示例 limit_conn_status 502;
limit_req
與 limit_conn 不同的是,limit_conn 直接指定連接數(shù)上限,而 limit_req 通過 rate 參數(shù)對指定變量出現(xiàn)的速率(即頻率)指定的上限進行限制。
這個模塊包含以下部分:
limit_req_zone
這個配置項用于指定請求頻率的計數(shù)空間。
# 語法 limit_req_zone [$variable] zone=[zone-name]:[max-storage-space] rate=[max-request-rate]; # 段 http # 示例 # rate=1r/s 表示限制每秒只允許一次請求 limit_req_zone $binary_remote_addr zone=req_ip:1m rate=1r/s;
limit_req
這個配置項用于調(diào)用 limit_req_zone 指定的頻率上限,以及可選的補充參數(shù)。
# 語法 # burst 可選項。后面接整數(shù),表示最大允許超過頻率限制的請求數(shù) # nodelay 可選項。如果不希望超過的請求被延遲,可以使用 nodelay 參數(shù) limit_req zone=req_ip (burst=[numbers]) (nodelay); # 段 http, server, location # 示例 limit_req zone=req_ip burst=5 nodelay;
limit_req_status
可選項。和 limit_conn_status 同理。指定拒絕請求時返回的 http code(狀態(tài)響應(yīng)碼)。
# 語法 limit_req_status [http-code]; # 段 http, server, location # 示例 limit_req_status 502;
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Nginx 獲取客戶端真實IP $remote_addr與X-Forwarded-For的實現(xiàn)
我們大多數(shù)情況下訪問服務(wù)時,客戶端并不是直接訪問到服務(wù)器的,本文主要介紹了Nginx 獲取客戶端真實IP $remote_addr與X-Forwarded-For的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下2024-03-03分析nginx日志并屏蔽采集者ip(nginx屏蔽ip配置實例)
這篇文章主要介紹了分析nginx日志并屏蔽采集者ip(nginx屏蔽ip配置實例),本文先是講解了分析需要屏蔽日志的方法,然后講解了Nginx中屏蔽IP的配置方法,需要的朋友可以參考下2015-02-02關(guān)于nginx+php5.3.8+eclipse3.7工作空間的配置方法
以前用eclipse3.6時設(shè)置php服務(wù)器時完全可以在base url欄填寫自己工作空間的目錄,然后修改nginx.conf加一個alias就行了2011-11-11Nginx轉(zhuǎn)發(fā)socket端口配置詳解
這篇文章主要介紹了Nginx轉(zhuǎn)發(fā)socket端口配置詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-06-06Nginx使用自簽ssl證書實現(xiàn)https連接的方法
本文主要介紹了Nginx使用自簽ssl證書實現(xiàn)https連接的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07Nginx服務(wù)器上搭建圖片緩存服務(wù)的基本配置解析
這篇文章主要介紹了Nginx服務(wù)器上搭建圖片緩存服務(wù)的基本配置解析,分別介紹了通過proxy_store模塊和proxy_cache模塊兩種方式的配置,需要的朋友可以參考下2016-04-04使用ngxtop實時監(jiān)控Nginx日志文件的示例代碼
在Nginx日志分析領(lǐng)域,ngxtop是一款強大的實時監(jiān)控工具,它能夠即時解析Nginx的訪問日志文件,提供直觀、可定制的實時統(tǒng)計信息,幫助管理員更好地了解服務(wù)器的運行狀況和Web流量,本文給大家介紹使用ngxtop實時監(jiān)控Nginx日志文件的示例代碼,需要的朋友可以參考下2024-01-01