亚洲全黄无码一级在线看_国产剧情久久久性色_无码av一区二区三区无码_亚洲成a×人片在线观看

當(dāng)前位置: 首頁(yè) > 科技新聞 >

Nginx何防止流量攻擊,大部分程序員都收藏了..

時(shí)間:2019-11-13 01:05來(lái)源:網(wǎng)絡(luò)整理 瀏覽:
兩種實(shí)現(xiàn)方式分別是基于Ehcache和Redis的session管理策略。 大家都知道服務(wù)器資源有限的,但是客戶端來(lái)的請(qǐng)求是無(wú)限的(不排除

Nginx何防止流量攻擊,大部分程序員都收藏了...

兩種實(shí)現(xiàn)方式分別是基于Ehcache和Redis的session管理策略。

大家都知道服務(wù)器資源有限的,但是客戶端來(lái)的請(qǐng)求是無(wú)限的(不排除惡意攻擊), 為了保證大部分的請(qǐng)求能夠正常響應(yīng),不得不放棄一些客戶端來(lái)的請(qǐng)求,所以我們會(huì)采用Nginx的限流操作, 這種操作可以很大程度上緩解服務(wù)器的壓力, 使其他正常的請(qǐng)求能夠得到正常響應(yīng)。

如何使用Nginx實(shí)現(xiàn)基本的限流,比如單個(gè)IP限制每秒訪問(wèn)100次。通過(guò)Nginx限流模塊,我們可以設(shè)置一旦并發(fā)連接數(shù)超過(guò)我們的設(shè)置,將返回503錯(cuò)誤給客戶端。這樣可以非常有效的防止CC攻擊。再配合 iptables防火墻,基本上CC攻擊就可以無(wú)視了。

如何使用

conf配置

 

配置503錯(cuò)誤

默認(rèn)情況,超出限制額度,將會(huì)報(bào)503錯(cuò)誤,提示:

 

這樣顯示沒(méi)毛病,但是不夠友好,這里我們自定義503錯(cuò)誤。

 

配置說(shuō)明

limit_conn_zone

是針對(duì)每個(gè)IP定義一個(gè)存儲(chǔ)session狀態(tài)的容器。這個(gè)示例中定義了一個(gè)100m的容器,按照32bytes/session,可以處理3200000個(gè)session。

limit_rate 300k;

對(duì)每個(gè)連接限速300k. 注意,這里是對(duì)連接限速,而不是對(duì)IP限速。如果一個(gè)IP允許兩個(gè)并發(fā)連接,那么這個(gè)IP就是限速limit_rate×2。

burst=5;

這相當(dāng)于在檢查站req旁邊放5個(gè)座位。如果某個(gè)請(qǐng)求當(dāng)時(shí)超過(guò)速度限制被攔了,請(qǐng)他在空座位上坐著,等排隊(duì),如果檢查站空了,就可以通過(guò)。如果連座位都坐滿了,那就抱歉了,請(qǐng)求直接退回,客戶端得到一個(gè)服務(wù)器忙的響應(yīng)。所以說(shuō)burst跟request_rate一點(diǎn)關(guān)系都沒(méi)有,設(shè)成10000,就是1萬(wàn)個(gè)請(qǐng)求可以等著排隊(duì),而檢查站還是1秒鐘放行5個(gè)請(qǐng)求(龜速)。而且也不能一直排隊(duì),所以nginx還設(shè)了超時(shí),排隊(duì)超過(guò)一定時(shí)間,也是直接退回,返回服務(wù)器忙的響應(yīng)。

以上配置Nginx需要配置以下模塊:

ngx_http_limit_conn_module (static)

ngx_http_limit_req_module (static)

執(zhí)行命令 nginx -V 就可以檢查到是否有安裝。

【責(zé)任編輯:張燕妮 TEL:(010)68476606】
推薦內(nèi)容