限流限速

限流和限速都是很常見的需求,可以保護系統在遭遇突發流量或者惡意攻擊下,依然可以正常提供服務。

以下是幾個常用的限流和限流的場景,都可以在 Edge Admin 控制檯的介面上新增規則來實現,稍後我們會介紹下基本的操作。

  1. 限制請求速率
  2. 限制單位時間內的請求數
  3. 延遲請求
  4. 拒絕客戶端請求
  5. 限制響應資料的速率
  6. 限制 SSL 握手速率

其中第 5 個是用於響應的規則,其他的都是用於請求的規則。

除了第 6 個只能選擇客戶端 IP 地址作為限制的關鍵字外,其他動作都可以有更多的關鍵字以供選擇:客戶端 IP 地址、URI、URI 引數、或者請求的 cookie。

需要注意的是,這裡所有的限流和限速規則,都是在應用內生效的,並不會像跨應用生效。這一點和 NGINX 並不一樣。

比如一個客戶端觸發了 A 應用的限速規則,那麼這個客戶端還是可以正常訪問 B 應用的。

基本操作

下圖是頁面規則頁面,你有兩種方式來新建規則:

  1. 可以選擇手寫 Edge 語言來更靈活的設定前置規則集和後置規則集;
  2. 也可以透過頁面來選擇條件和動作來生成。

我們主要用第二種方法來生成限流和限速的規則。我們可以點選 新建規則 按鈕。

這個就是新建規則的頁面,它包含了不少內容:Action、WAF、Proxy、Cache 和 Content, 以及是否在某些條件下觸發上述規則。

限流和限速的規則都在動作中,上面列出來的前五個場景,都可以在這裡找到。