すべてのプロダクト
Search
ドキュメントセンター

CDN:EdgeScript 組み込み変数

最終更新日:Aug 26, 2026

EdgeScript の組み込み変数は通常、NGINX 変数に直接マッピングされており、スクリプトからリクエストプロパティ (URI、クエリパラメーター、ヘッダー、Cookie、クライアント IP アドレス、プロトコルの詳細) に読み取り専用でアクセスできます。

組み込み変数は読み取り専用です。値を代入しないでください。

ドル記号 ($) のプレフィックスは、変数が組み込み変数であることを示します。ビジネスロジックで必要な場合は、$ のプレフィックスを省略できます。

変数数の上限

1 つのスクリプトで使用できる変数は最大 200 個です。ルールでこれを超える場合は、ロジックを複数のユーザー定義関数に分割してください。各ユーザー定義関数に含める変数は、200 個以内にする必要があります。例については、関数の分割をご参照ください。

変数名のハイフンの扱い

3 つの組み込み変数 ( $arg_{name}$http_{name}$cookie_{name} ) は、クエリ文字列キー、リクエストヘッダーフィールド、または Cookie フィールドを指定するために {name} プレースホルダーを使用します。各変数でのハイフンの扱いは次のとおりです:

変数

ハイフンの扱い

$arg_{name}

{name} にハイフンが含まれる場合は、代わりに req_uri_arg('{name}') を使用します。例: ?example-demo=123 の場合は req_uri_arg('example-demo')

$http_{name}

ハイフンをアンダースコアに置き換えます。例: X-USER-ID ヘッダーの場合は $http_x_user_id

$cookie_{name}

{name} にハイフンが含まれる場合は、代わりに req_cookie('{name}') を使用します。例: cookie: example-demo=123 の場合は req_cookie('example-demo')

組み込み変数

変数

説明

NGINX 変数

$arg_{name}

クエリ文字列内の {name} キーの値

$arg_

$http_{name}

リクエストヘッダー内の {name} フィールドの値

$http_

$cookie_{name}

リクエストの Cookie ヘッダー内の {name} フィールドの値

$cookie_

$scheme

プロトコルタイプ

$scheme

$server_protocol

プロトコルバージョン

$server_protocol

$host

元のホスト

$host

$uri

元の URI

なし

$args

先頭の ? を除いた、すべてのクエリ文字列パラメーター

$args

$request_method

リクエストメソッド

$request_method

$request_uri

完全なリクエスト URI。uri + '?' + args と等価です。

$request_uri

$remote_addr

ポイントオブプレゼンス (POP) への接続に使用するクライアント IP アドレス

$remote_addr

例: $arg_{name}$args

次のリクエスト http://example.aliyundoc.com/1k.file?k1=v1&k2=v2 の場合:

  • $arg_k1v1 を返します。

  • $argsk1=v1&k2=v2 (先頭の ? を除いた完全なクエリ文字列) を返します。

関数の分割

ルールに 200 個を超える変数が含まれる場合は、元の関数を複数のユーザー定義関数に分割してください。各ユーザー定義関数に含める変数は、200 個以内にする必要があります。

# 変数が上限を超える場合は、次のように分割します。
def judeg_arg() {
  # パラメーター判定のロジック
  x
  x
}

def judeg_time() {
  # 時間判定のロジック
  x
  x
}

def judeg_token() {
  # 暗号化判定のロジック
  x
  x
}

judeg_arg()
judeg_time()
judeg_token()