Version: 2.8.1
Request Termination
#
用途說明此插件會終止所有請求並回傳指定的狀態碼和訊息。其允許(暫時)暫停服務或路由的流量,甚至可以阻擋用戶的請求。
#
欄位配置說明變數 | 類型 | 預設值 | 說明 | 必填 |
---|---|---|---|---|
status_code | number | 503 | 要送出的狀態碼。 可填入的數值的範圍為 100 至 599。 | |
message | string | 要送出的訊息(假設使用預設的回應產生器)。 | ||
body | string | 要送出的 raw response body 。 此欄位與 message 為互斥欄位。 | ||
content_type | string | raw response 的 content type。 | ||
echo | boolean | false | 設置後,插件會將請求的副本回給客戶端。 主要的 usecase 是 debugging。 它可以與 trigger 結合使用,以便在不干擾實際流量的情況下 debug 線上系統的請求。 | V |
trigger | string | 未設置時,插件始終啟用。 當設置為文字串 (string) 時,插件將僅在包含名為該字符串的標頭或查詢參數的請求上啟用。 |
#
用法示例#
在全局啟用插件- 從網站左邊 Menu 中
外掛插件
頁面中,點選右上角的新增外掛插件
:
- 點選後,選擇
流量控管
頁籤,並啟用 Request Termination,填寫內容參考欄位配置說明,設定成功後,任何請求(不分服務、路由、用戶)皆會被阻擋。
#
在服務端上啟用插件- 從網站左邊 Menu 中
服務 > 服務列表
頁面中,選擇要啟用此插件的服務,假設為google
,點選對應的編輯按鈕:
- 在編輯畫面中,點選上方的
外掛插件
頁籤,再點選頁籤內容上方的新增外掛插件
按鈕:
點選後,選擇 流量控管
頁籤,並啟用 Request Termination,填寫內容參考欄位配置說明,設定成功後,僅有此服務(範例為google
)請求會被阻擋。
#
在路由端上啟用插件可以由兩種方式來選擇路由,並啟用插件:
#
方式一:路由列表- 從網站左邊 Menu 中
服務 > 路由列表
頁面中,選擇要啟用此插件的路由,假設為google
,點選對應的編輯按鈕:
#
方式二:服務 > 服務列表 > 路由列表- 從網站左邊 Menu 中
服務 > 服務列表
頁面中,選擇要啟用此插件的路由 所屬之服務(假設為google
),點選對應的編輯按鈕。
在編輯畫面中,點選上方的 路由
頁籤,選擇要啟用此插件的路由(假設為 google
),點選對應的編輯按鈕:
- 承第1步,點擊上述兩種方式之一的編輯按鈕後,在編輯畫面中,點選上方的
外掛插件
頁籤,再點選頁籤內容上方的新增外掛插件
按鈕:
點選新增外掛插件
按鈕後,選擇 流量控管
頁籤,並啟用 Request Termination,填寫內容參考欄位配置說明,設定成功後,僅有此路由(範例為google
)請求會被阻擋。
#
在用戶端上啟用插件- 從網站左邊 Menu 中
訂閱用戶 > 用戶列表
頁面中,選擇要啟用此插件的用戶,假設為portaladmin
,點選對應的編輯按鈕 :
- 在編輯畫面中,點選上方的
外掛插件
頁籤,再點選頁籤內容上方的新增外掛插件
按鈕:
點選後,選擇 流量控管
頁籤,並啟用 Request Termination,填寫內容參考欄位配置說明,設定成功後,僅有此用戶(範例為 portaladmin
)請求會被阻擋。
#
驗證於某個路由新增插件,並填入設定值。此範例在 status_code
及 message
相繼填入 503 以及 The service is under maintenance now.
新增插件後,送出請求(匹配該路由)會得到以下回應: