カスタム応答プラグインを使用すると、ステータスコード、HTTP応答ヘッダー、HTTP応答本文などのカスタム応答を設定できます。 カスタム応答プラグインは、モック応答、または特定のHTTPステータスコードが決定された後にカスタム応答を提供するために使用できます。 たとえば、プラグインを使用して、ゲートウェイ調整ポリシーがトリガーされたときに返されるカスタム応答を設定できます。 このトピックでは、カスタム応答プラグインを設定する方法について説明します。
プラグイン型
伝送プロトコル関连プラグイン。
フィールド
項目 | データ型 | 必須 / 任意 | デフォルト値 | 説明 |
status_code | 数値 | 非対象 | 200 | 返されたカスタムHTTPステータスコード。 |
headers | 文字列の配列 | 非対象 | - | HTTPレスポンスのカスタムヘッダー。 キーと値を等号 ( |
body | String | 非対象 | - | HTTPレスポンスのカスタムボディ。 |
enable_on_status | 数の配列 | 非対象 | - | カスタム応答を生成するために一致する元のステータスコード。 このフィールドを指定しない場合、システムは元のステータスコードを特定しません。 |
例
モック応答シナリオでカスタム応答を返す
status_code: 200
headers:
- Content-Type=application/json
- Hello=World
body: "{\"hello\":\"world\"}"上記の設定では、次のカスタムレスポンスを返すことができます。
HTTP/1.1 200 OK
Content-Type: application/json
Hello: World
Content-Length: 17
{"hello":"world"}スロットリングがトリガーされたときにカスタムレスポンスを返す
enable_on_status:
- 429
status_code: 302
headers:
- Location=https://example.comスロットリングがトリガーされると、ほとんどの場合、HTTPステータスコード429が返されます。 この場合、次のカスタムレスポンスが返されます。
HTTP/1.1 302 Found
Location: https://example.comこのようにして、ブラウザベースの302リダイレクションメカニズムが実装され、抑制されたユーザを、CDNにアップロードされた静的ページなどの別のページにリダイレクトする。
スロットリングがトリガーされたときに他のステータスコードを返す場合は、「モック応答シナリオでカスタム応答を返す」セクションを参照して、必須フィールドを設定します。
特定のルートまたはドメイン名のリクエストをブロックする
route-aおよびroute-bのルートに次のプラグイン設定を適用します。
body: "{\"hello\":\"world\"}"次のプラグイン設定を * .example.comおよびtest.comドメイン名に適用します。
enable_on_status:
- 429
status_code: 200
headers:
- Content-Type=application/json
body: "{\"errmsg\": \"rate limited\"}"route-aおよびroute-bは、ゲートウェイルートの作成時に指定されたルートです。 クライアント要求がルートのいずれかと一致する場合、一致したルートに設定されているルールが有効になります。* .example.comとtest.comドメイン名は、リクエストのドメイン名と一致するために使用されます。 クライアント要求がいずれかのドメイン名と一致する場合、一致したドメイン名に設定されているルールが有効になります。設定したルールは順番に有効になります。 最初のルールが一致する場合、後続のルールは無視されます。