延遲請求

延遲請求動作為滿足頁面規則條件的請求增加固定等待時間,然後再繼續處理請求。它不會自行判斷請求速率,因此應透過頁面規則條件精確限定需要延遲的流量。

適用場景

  • 降低暴力破解、批次探測或自動化採集的執行效率。
  • 對可疑流量進行溫和調節,避免直接拒絕可能造成的誤傷。
  • 在不立即暴露攔截策略的情況下,增加攻擊者的時間成本。

如果需要根據請求速率自動調節或拒絕流量,請使用限制請求速率;如果需要在異常行為持續一段時間後封鎖請求,請使用封鎖請求

工作原理

頁面規則先判斷請求是否滿足生效條件。命中規則後,OpenResty Edge 將請求延遲指定秒數,再繼續執行後續處理。未命中規則的請求不受影響。

配置方法

  1. 在 Edge Admin 中進入目標應用的 頁面規則 頁面並新建規則。
  2. 啟用條件,根據 URI、客戶端資訊或其他請求特徵限定需要延遲的流量。
  3. 動作 中選擇 延遲
  4. 設定延遲秒數,然後建立規則併發布應用配置。

選擇延遲動作

設定請求延遲時間

引數說明

  • :請求命中規則後需要等待的時間。延遲結束後,請求將繼續處理,並不會自動被拒絕。

驗證方法

釋出配置後,分別請求一個命中規則的 URI 和一個不命中規則的 URI,對比客戶端觀察到的響應時間。驗證時還應確認規則條件不會覆蓋靜態資源、健康檢查或其他不需要延遲的請求。

注意事項

  • 延遲會佔用請求處理時間。規則範圍過寬或延遲時間過長時,可能影響正常使用者體驗並增加系統併發壓力。
  • 不建議僅憑容易偽造的請求頭識別客戶端。使用 X-Forwarded-For 時,應確保該請求頭由可信代理維護。
  • 對已確認的持續高頻攻擊,應結合請求速率限制、封鎖請求或 IP 封禁,而不是無限增加延遲時間。