nginx 隨機回應功能
我想大声告诉你
我想大声告诉你 2017-05-16 17:25:34
0
2
512

客戶端跟伺服器端互動時,出現了一個失誤的定時設計,造成伺服器端10分鐘內接收到超過30萬次請求,php後端瞬間的壓力暴增而崩潰。

目前的解決方案時,由於短時間內的重複請求所獲取的內容都是相同的,在Nginx層直接將有特殊參數的請求給drop掉,直接回傳無結果。

程式碼如下

shell    if ( $query_string ~ "api=(getpush|remove)")
    {
        return 200 '{"resultStatus":1,"allCount":0,"data":[]}';
        break;
    }

這個解決方案不完全的地方,例如只禁掉90%的請求,或只在指定時間內生效,不知道有沒有同學有沒有類似的防攻擊解決方案?

我想大声告诉你
我想大声告诉你

全部回覆(2)
我想大声告诉你

可以考慮用一個upstream,設定一個權重,把90%的請求轉移到一個dummy的介面上

伊谢尔伦

fine, 自己來把坑補上

nginx+lua=openresty

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板