Nginx 的 limit 模塊用于限制 Nginx 的訪問(wèn)。
十載的大化網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。全網(wǎng)整合營(yíng)銷推廣的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整大化建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)從事“大化網(wǎng)站設(shè)計(jì)”,“大化網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
limit 模塊包含有兩個(gè)部分:
limit_conn
limit_conn 模塊的實(shí)現(xiàn)比 limit_req 簡(jiǎn)單,直接對(duì)擁有相同變量值的連接進(jìn)行計(jì)數(shù),超過(guò)限制的連接返回 503 錯(cuò)誤(Service Temporarily Unavailable)。
實(shí)際上,由于某一時(shí)刻,一個(gè)連接上一般只有一個(gè)待處理請(qǐng)求,且由于 keepalive 和 phase 處理函數(shù)無(wú)法判斷連接狀態(tài) (新連接還是老連接),limit_conn 將正在處理的請(qǐng)求數(shù)作為連接數(shù)使用。
這個(gè)模塊包含以下部分:
limit_conn_zone
這個(gè)配置項(xiàng)用于指定連接數(shù)的計(jì)數(shù)空間。
# 語(yǔ)法 limit_conn_zone [$variable] zone=[zone-name]:[max-storage-space]; # 段 http # 示例 limit_conn_zone $binary_remote_addr zone=conn_ip:1m;
limit_conn
這個(gè)配置項(xiàng)用于指定連接數(shù)上限。
# 語(yǔ)法 limit_conn [zone-name] [max-connections]; # 段 http, server, location # 示例 limit_conn conn_ip 10;
limit_conn_status
可選項(xiàng)。該指令在 1.3.15 版本引入。指定拒絕請(qǐng)求時(shí)返回的 http code(狀態(tài)響應(yīng)碼)。
# 語(yǔ)法 limit_conn_status [http-code]; # 段 http, server, location # 示例 limit_conn_status 502;
limit_req
與 limit_conn 不同的是,limit_conn 直接指定連接數(shù)上限,而 limit_req 通過(guò) rate 參數(shù)對(duì)指定變量出現(xiàn)的速率(即頻率)指定的上限進(jìn)行限制。
這個(gè)模塊包含以下部分:
limit_req_zone
這個(gè)配置項(xiàng)用于指定請(qǐng)求頻率的計(jì)數(shù)空間。
# 語(yǔ)法 limit_req_zone [$variable] zone=[zone-name]:[max-storage-space] rate=[max-request-rate]; # 段 http # 示例 # rate=1r/s 表示限制每秒只允許一次請(qǐng)求 limit_req_zone $binary_remote_addr zone=req_ip:1m rate=1r/s;
limit_req
這個(gè)配置項(xiàng)用于調(diào)用 limit_req_zone 指定的頻率上限,以及可選的補(bǔ)充參數(shù)。
# 語(yǔ)法 # burst 可選項(xiàng)。后面接整數(shù),表示最大允許超過(guò)頻率限制的請(qǐng)求數(shù) # nodelay 可選項(xiàng)。如果不希望超過(guò)的請(qǐng)求被延遲,可以使用 nodelay 參數(shù) limit_req zone=req_ip (burst=[numbers]) (nodelay); # 段 http, server, location # 示例 limit_req zone=req_ip burst=5 nodelay;
limit_req_status
可選項(xiàng)。和 limit_conn_status 同理。指定拒絕請(qǐng)求時(shí)返回的 http code(狀態(tài)響應(yīng)碼)。
# 語(yǔ)法 limit_req_status [http-code]; # 段 http, server, location # 示例 limit_req_status 502;
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。