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

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

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

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

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

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

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

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

如何使用

conf配置

 

配置503錯誤

默認(rèn)情況,超出限制額度,將會報503錯誤,提示:

 

這樣顯示沒毛病,但是不夠友好,這里我們自定義503錯誤。

 

配置說明

limit_conn_zone

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

limit_rate 300k;

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

burst=5;

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