メインコンテンツまでスキップ

アクションに設定できる制限項目と処理の一覧

KurocoEdgeのルール追加の画面では、リクエストとレスポンスのそれぞれに対してアクションと呼ばれる動作の設定をします。 アクションには制限項目と処理を設定し、アクセスに対する動作を設定します。

ここではリクエストとレスポンスのそれぞれの動作に対して、設定可能な制限項目と処理の説明をします。

アクションの作成画面

ルール一覧のページで、[追加]をクリックすると新しいルールが作成できます。
Image from Gyazo

リクエスト、レスポンス、のタブでそれぞれのアクションを設定します。
Image from Gyazo

ルール構造の説明

各ルールは、リクエストまたはレスポンスに対して任意の数のアクションを定義できます。アクションは優先順位の高いものから順に処理されます。

各アクションは以下の構成になっています。

項目説明
指示フラグ「実行時に他のアクションをスキップ」を有効にすると、このアクションが実行された場合、これより後のアクションの実行をスキップします。
条件/変数実行の処理が実行されるために必要な条件。多くの条件ではデータを取得し、変数として保存して後続の処理で利用できます。条件に一致しない場合は実行に書いた処理は実行されません。
実行指定されたリクエスト/レスポンスに適用する実行項目のリスト。項目は最優先順位が高いものから順に適用されます。

リクエストとレスポンスのタブは、それぞれ独自の条件と実行処理を持っています。

ヒント

正規表現でマッチする部分を変数に保存するには(?P<my_variable>.*)といった書き方をします。
後続の処理で利用する場合は{$my_variable}のように使用します。

リクエスト

リクエストではKurocoEdgeに送られたリクエストに対する処理を設定します。
ユーザーのリクエストがKurocoEdgeに到達し、バックエンドホストに転送される前の段階です。

条件/変数で選択可能な制限

項目詳細条件の設定項目設定内容
メソッドリクエストメソッドリクエストのメソッドを次の中から選択します。
  • GET
  • POST
  • PUT
  • PATCH
  • DELETE
  • OPTIONS
  • HEAD
  • TRANCE
  • CONNECT
IPアドレスIPアドレスのパターンユーザーのIPアドレスが設定した正規表現にマッチするかチェックします。変数付きの正規表現を使用すると、マッチした部分を変数に保存します。
位置情報タイプ、正規表現位置情報のタイプを次の中から選択し、正規表現で条件を設定します。
  • AreaCode
  • AsName
  • AsNumber
  • City
  • Continent
  • CountryCode
  • CountryCode3
  • CountryName
  • Latitude
  • Longitude
  • PostalCode
  • Region
  • UtcOffset
パスパスのパターンリクエストのパスが設定した正規表現にマッチするかチェックします。変数付きの正規表現を使用すると、マッチした部分を変数に保存します。
クエリ文字列名前、値のパターン指定したクエリパラメータが設定した正規表現にマッチするかチェックします。変数付きの正規表現を使用すると、マッチした部分を変数に保存します。
ヘッダー名前、値のパターン特定のヘッダーが設定した正規表現にマッチするかチェックします。変数付きの正規表現を使用すると、マッチした部分を変数に保存します。
クッキー名前、値のパターン特定のクッキーが設定した正規表現にマッチするかチェックします。変数付きの正規表現を使用すると、マッチした部分を変数に保存します。変数の取得は、クッキーヘッダーを変更する可能性のあるルールを含む、他のルールが適用される前に実行されます。
本文本文のパターンリクエストボディ全体をメモリにバッファリングし、設定した正規表現にマッチする部分を取得します。
大きなリクエストボディに対して実行する際には注意をしてください。本文をバッファリングすると、各リクエストのメモリ消費量が増加します。また、多くのメモリを使用するとエッジサービスの利用料金が発生するため、コストが増加します。
また、許容量を超えることでリクエストが失敗するリスクもあります。この場合にも利用料に計上されます。
本文のプレフィックスバイト数、本文のパターンリクエストボディの先頭から、指定されたバイト数をメモリにバッファリングし、設定した正規表現にマッチする部分を取得します。大きなリクエストボディであり、取得したいデータがリクエストボディの先頭に近い位置にいる場合、性能向上に対して有効なオプションです
静的変換名前、値ルール内で定義する静的変数です。値には他の条件で取得した変数も使用できます。
API変数URL外部のAPIリクエストを実行し、レスポンスから変数を構築します。JSON形式のレスポンスボディが期待されます。
変数の値をチェックする値、正規表現左辺に入力された変数を右辺の正規表現でチェックします。取得された変数は、どちら側でも使用できます。

実行で選択可能な処理

項目詳細条件の設定項目設定内容
ヘッダー操作、名前、値
  • セットする
    選択した名前と値でヘッダー情報を追加します。
  • 正規表現で置換する
    選択した名前のリクエストヘッダーから正規表現に一致する部分を値に置換します。
  • 削除する
    選択した名前のリクエストヘッダーを削除します。
クッキー操作、名前、値
  • セットする
    設定した名前と値でクッキーを追加します。
  • 削除する
    設定した名前のクッキーを削除します。
ファイルパス(ファイルマネージャー)ファイルマネージャーこのリクエストを、接続されたKuroco管理パネルのファイルマネージャー内の指定されたパスにあるものを返すようにマッピングします。設定では、このリクエストはデフォルトのオリジンバックエンドに転送されません
バックエンドURLドメイン、Hostヘッダーを上書きする、パスこのリクエストを転送する先を指定します。これにより、同じフロントエンドから複数のバックエンドにリクエストをルーティングできます
簡易レスポンスHTTP ステータス、コンテンツタイプ、本文 HTML、ヘッダー手動で作成したレスポンスを返します。HTTP ステータス、本文のHTML、ヘッダーを指定します。本文やヘッダーの値にキャプチャされた変数が利用可能です。
リダイレクトURLHTTP ステータス、URLリダイレクトの方法を選択し、リダイレクト先のURLを入力します。
リダイレクトの方法は以下が設定可能です。
  • 301 Premanent Redirect
  • 302 Temporary Redirect

レスポンス

レスポンスではKurocoEdgeが返すレスポンスに対する処理を設定します。
ユーザーのリクエストバックエンドホストに転送され、KurocoEdgeがバックエンドホストからのレスポンスを受け取った後の段階です。

条件/変数で選択可能な制限

項目詳細条件の設定項目設定内容
HTTPステータスHTTPレスポンスコードHTTPステータスコード(200、404など)が設定した正規表現にマッチするかチェックします。変数付きの正規表現を使用すると、マッチした部分を変数に保存します。
ヘッダー名前、値のパターン特定のヘッダーが設定した正規表現にマッチするかチェックします。変数付きの正規表現を使用すると、マッチした部分を変数に保存します。
クッキー名前、値のパターン特定のクッキーが設定した正規表現にマッチするかチェックします。変数付きの正規表現を使用すると、マッチした部分を変数に保存します。変数の取得は、クッキーヘッダーを変更する可能性のあるルールを含む、他のルールが適用される前に実行されます。
本文のプレフィックスバイト数、本文のパターンリクエストボディの先頭から、指定されたバイト数をメモリにバッファリングし、設定した正規表現にマッチする部分を取得します。大きなリクエストボディであり、取得したいデータがリクエストボディの先頭に近い位置にいる場合、性能向上に対して有効なオプションです
静的変換名前、値ルール内で定義する静的変数です。値には他の条件で取得した変数も使用できます。
API変数URL外部のAPIリクエストを実行し、レスポンスから変数を構築します。JSON形式のレスポンスボディが期待されます。オリジンのレスポンスデータがこのAPI呼び出しに必要ない場合は、事前読み込みオプションを使用して、オリジンリクエストと並行してリクエストを送信することで早期に実行できます。
変数の値をチェックする値、正規表現左辺に入力された変数を右辺の正規表現でチェックします。取得された変数は、どちら側でも使用できます。

実行で選択可能な処理

項目詳細条件の設定項目設定内容
HTTPステータスHTTPレスポンスコードHTTPステータスコード(200、404など)を設定します。
ヘッダー操作、名前、値
  • セットする
    選択した名前と値でヘッダー情報を追加します。
  • 正規表現で置換する
    選択した名前のリクエストヘッダーから正規表現に一致する部分を値に置換します。
  • 削除する
    選択した名前のレスポンスヘッダーを削除します。
クッキー操作、名前、値
  • セットする
    設定した名前と値でクッキーを追加します。
  • 削除する
    設定した名前のクッキーを削除します。
ブラウザーキャッシュTTL (max-age)リクエストのブラウザキャッシュの保持時間(秒単位)を設定します。
エッジキャッシュTTL (max-age)リクエストのエッジキャッシュの保持時間(秒単位)を設定します。
HTML クロールCSSセレクター、JSON パス、JSON 値一覧この機能を使用してHTMLボディの一部をキャプチャできます。キャプチャされたデータは、ShadowApiフォーマッタで使用され、スクリプトタグ内のJS変数としてボディの最後に挿入されるか、レスポンス全体がHTMLではなくキャプチャされたJSON変数のみを出力するように変更できます。
テキストの置換置換前、置換後置換前後のテキストを入力するとレスポンス内のテキストを置換します。
HTMLの編集[編集]をクリックして設定用モーダルを開く詳しい設定方法はHTMLの編集の項目を参照してください。
簡易レスポンスHTML、コンテンツタイプ、HTML、ヘッダー手動で作成したレスポンスを返します。HTTP ステータス、本文のHTML、ヘッダーを指定します。本文やヘッダーの値にキャプチャされた変数が利用可能です。
リダイレクトURLHTTP ステータス、URLリダイレクトの方法を選択し、リダイレクト先のURLを入力します。
リダイレクトの方法は以下が設定可能です。
  • 301 Premanent Redirect
  • 302 Temporary Redirect

HTMLの編集

HTMLの編集ではKurocoEdgeがバックエンドホストから取得したHTMLをブラウザにレスポンスする際、HTMLに編集を加えることができます。

Image from Gyazo

項目説明
全般HTMLに編集を加える範囲をCSSセレクターで指定します。
オプションで隠すを選択すると、指定した範囲にdisplay:none;を設定します。
オプションで削除するを選択すると、指定した範囲を削除します。
タグの属性CSSセレクタで指定した要素に対してタグの追加・削除・置換ができます。
タグのコンテンツCSSセレクタで指定した要素にテキストを追加します。子要素がある場合、指定したテキストは各要素に追加されます。
HTMLの挿入CSSセレクタで指定した要素に対して追加のHTMLを挿入します。HTMLを挿入する位置は次の中から選択します。
  • 子要素の先頭
  • 子要素の最後
  • 要素の直前
  • 要素の直後

サポート

お探しのページは見つかりましたか?解決しない場合は、問い合わせフォームからお問い合わせいただくか、Discordコミュニティにご参加ください。