このトピックでは、EdgeScript 組み込み変数と対応する NGINX 変数について紹介します。
組み込み変数名の前の特殊記号 ($) は、組み込み変数のプロパティを強調しています。削除しても使用には影響しません。
パラメーターと同じ方法で組み込み変数に値を割り当てないでください。
各 EdgeScript ルールは最大 200 個の変数をサポートします。 200 個を超える変数がある場合は、「関数の分割例」を参照して、ロジック全体を複数のユーザー定義関数に分割し、各ユーザー定義関数が 200 個以下の変数を含むようにしてください。
EdgeScript 組み込み変数
組み込み変数名 | 説明 | 対応する NGINX 変数 |
|
|
説明
|
| リクエストヘッダーの name フィールドの値。 |
説明
|
$cookie_{name} | リクエスト Cookie ヘッダーの name フィールドの値。 | $cookie_ 説明
|
$scheme | プロトコルタイプ。 | $scheme |
$server_protocol | プロトコルバージョン。 | $server_protocol |
$host | 元のホスト。 | $host |
$uri | 元の URI。 | なし |
$args |
| $args |
$request_method | リクエストメソッド。 | $request_method |
$request_uri |
| $request_uri |
$remote_addr | クライアント IP アドレス (x-forwarded-for リクエストヘッダーで転送された最初の IP アドレス)。 | $remote_addr |
関数の分割例
ルールに 200 個を超える変数が含まれている場合は、ロジック全体を複数のユーザー定義関数に分割し、各ユーザー定義関数が 200 個以下の変数を含むようにする必要があります。
#変数の数が制限を超えている場合は、次のように分割できます
def judeg_arg() {
#パラメータ判定に関連するロジック
x
x
}
def judeg_time() {
#時間判定に関連するロジック
x
x
}
def judeg_token() {
#暗号化判定に関連するロジック
x
x
}
judeg_arg()
judeg_time()
judeg_token()