Version: 2.8.1
Request Size Limiting
#
用途說明阻擋請求 body 超過設定大小(單位為 MB)的傳入請求。
tip
基於安全原因考量,建議在任何服務(Service)上新增此插件來預防 DOS(Denial of Service) 攻擊。
#
欄位配置說明變數 | 類型 | 預設值 | 說明 | 必填 |
---|---|---|---|---|
allowed_payload_size | number | 128 | 允許請求 payload 大小(單位為 MB)。預設為 128 MB。 | |
size_unit | string | megabytes | 可選擇的值為下列其一: bytes 、 kilobytes 及 megabytes 。 | V |
require_content_length | boolean | false | 開啟此設定( 設定為 true) 將在讀取 request body 前確認是否有合法的 Content-Length 標頭存在。 | V |
#
用法示例#
在全局啟用插件- 從網站左邊 Menu 中
外掛插件
頁面中,點選右上角的新增外掛插件
:
- 點選後,選擇
流量控管
頁籤,並啟用 Request Size Limiting,填寫內容參考欄位配置說明,設定成功後,任何請求(不分服務、路由、用戶)皆需經過計算才能通過。
#
在服務端上啟用插件- 從網站左邊 Menu 中
服務 > 服務列表
頁面中,選擇要啟用此插件的服務,假設為google
,點選對應的編輯按鈕:
- 在編輯畫面中,點選上方的
外掛插件
頁籤,再點選頁籤內容上方的新增外掛插件
按鈕:
點選後,選擇 流量控管
頁籤,並啟用 Request Size Limiting,填寫內容參考欄位配置說明,設定成功後,僅有此服務(範例為google
)請求需經過計算才能通過。
#
在路由端上啟用插件可以由兩種方式來選擇路由,並啟用插件:
#
方式一:路由列表- 從網站左邊 Menu 中
服務 > 路由列表
頁面中,選擇要啟用此插件的路由,假設為google
,點選對應的編輯按鈕:
#
方式二:服務 > 服務列表 > 路由列表- 從網站左邊 Menu 中
服務 > 服務列表
頁面中,選擇要啟用此插件的路由 所屬之服務(假設為google
),點選對應的編輯按鈕。
在編輯畫面中,點選上方的 路由
頁籤,選擇要啟用此插件的路由(假設為 google
),點選對應的編輯按鈕:
- 承第1步,點擊上述兩種方式之一的編輯按鈕後,在編輯畫面中,點選上方的
外掛插件
頁籤,再點選頁籤內容上方的新增外掛插件
按鈕:
點選新增外掛插件
按鈕後,選擇 流量控管
頁籤,並啟用 Request Size Limiting,填寫內容參考欄位配置說明,設定成功後,僅有此路由(範例為google
)請求需經過計算才能通過。
#
在用戶端上啟用插件- 從網站左邊 Menu 中
訂閱用戶 > 用戶列表
頁面中,選擇要啟用此插件的用戶,假設為portaladmin
,點選對應的編輯按鈕 :
- 在編輯畫面中,點選上方的
外掛插件
頁籤,再點選頁籤內容上方的新增外掛插件
按鈕:
點選後,選擇 流量控管
頁籤,並啟用 Request Size Limiting,填寫內容參考欄位配置說明,設定成功後,僅有此用戶(範例為 portaladmin
)請求需經過計算才能通過。
#
驗證當開啟此插件時,如請求本體超過設定大小時,會取得下列回應