限制請求速率
頁面規則的下拉選單裡面有很多動作,它們都已經分類整理好了。其中有一類是“限制請求動作”, 裡面的動作就是用來控制請求的。我們先選擇對請求速度的控制,也就是限制請求速率:
限制請求速率是基於漏桶原理來實現的,我們透過三個引數來對請求進行控制:
- 關鍵字: 預設是終端的 IP 地址,可以透過下拉框選擇 URI 、 URI 引數或者是 Cookie 。選擇 URI 引數或者是 Cookie 的話, 會需要多指定一個對應的 Argument 欄位;
- 調節於: 低於這個速率的請求不會做任何限制;大於這個速率但小於拒絕於的請求,則會被延遲執行;
- 拒絕於: 大於這個速率的請求會直接返回 503 的 HTTP 狀態碼給終端,意味著請求被拒絕。
後面兩個引數的預設單位都是請求每秒,可以選擇請求每分鐘。
如果它們兩個的值設定一樣,超過設定的請求就直接被拒絕,沒有延遲來做緩衝。
預設情況下,這個動作是無條件執行的,也就是這個 app 的所有請求都會被限速。 這樣的規則過於粗獷,我們可以用下面的方法來指定更為精準的條件的控制。
和 動作
類似,條件裡面也是分門別類整理好的,按照 URI 、請求、響應、終端資訊這些相關的條件來分組。
這裡我們選擇終端資訊裡面的國家來舉例,下面的條件是對來自日本的請求才執行上面設定的動作:
這裡輸入日本的國家縮寫 JP, 所有大洲、國家、省份、城市的縮寫可以從 Edge 的語言文件中獲取:
設定好了動作和條件,我們點選右下方的建立按鈕,規則就設定成功了。頁面會自動跳轉回頁面規則頁面。