日本大香伊一区二区三区-日本成本人片免费网站 精品国产第一国产综合精品|久久久久人妻一区精

目錄
目錄X
聯(lián)系信息 首頁(yè) /正文內(nèi)容

nginx限制某請(qǐng)求并發(fā)數(shù)

問(wèn)題描述:網(wǎng)站前后臺(tái)都返回502狀態(tài)碼,檢查網(wǎng)絡(luò)攻擊并不算高,通過(guò)日志分析發(fā)現(xiàn)大量/ContentManage/Ajax/GetPreAndNextPublicInformation或/ContentManage/Ajax/GetPrevAndNextContent請(qǐng)求,雖然不會(huì)對(duì)網(wǎng)站安全造成影響,而且是會(huì)直接中斷跳出的,但是請(qǐng)求比較集中,造成了其他正常請(qǐng)求的響應(yīng)速度變慢

解決方法:通過(guò)nginx限制具體url的訪問(wèn)并發(fā)數(shù)


在nginx的http{}節(jié)下添加

 #并發(fā)限制

limit_conn_zone $binary_remote_addr zone=addr:20m;

limit_req_zone $binary_remote_addr zone=one:20m rate=1r/s;

limit_conn_zone:定義一個(gè)名為 addr 的共享內(nèi)存區(qū)(20MB),用于記錄每個(gè)客戶端 IP( $ binary_remote_addr)的并發(fā)連接數(shù)。

  • limit_req_zone:定義一個(gè)名為 one 的共享內(nèi)存區(qū)(20MB),用于記錄每個(gè)客戶端 IP 的請(qǐng)求頻率,限制為 1 次/秒。

然后在 location ~* ^/ContentManage/Ajax/GetPreAndNextPublicInformation 和/ContentManage/Ajax/GetPrevAndNextContent下添加:

limit_conn addr 1; # 同一 IP 最多 1 個(gè)并發(fā)連接
limit_req zone=one nodelay;  # 請(qǐng)求速率限制為 1r/s,突發(fā)請(qǐng)求不延遲(直接處理或拒絕)

可以根據(jù)實(shí)際需求看是否添加burst參數(shù)

limit_req zone=one burst=3 nodelay; #burst=3 表示允許最多 3 個(gè)突發(fā)請(qǐng)求

注意默認(rèn)限流/限連失敗返回 503狀態(tài)碼,可自行定義錯(cuò)誤代碼。

【打印正文】 發(fā)布時(shí)間:2026-01-31 17:38:54 瀏覽次數(shù): 作者: 來(lái)源:本站原創(chuàng)