Azure Front Door ルール セットのサーバー変数

ルール セットのサーバー変数では、ルール セットを使用する要求に関する構造化情報にアクセスできます。

ルール セットの一致条件を使用すると、サーバー変数を一致条件として使用して、特定のプロパティを持つ要求を識別できます。

ルール セットのアクションを使うと、新しいページが読み込まれるときや、フォームがポストされるときなどに、要求ヘッダーと応答ヘッダーを動的に変更し、また URL、パス、クエリ文字列を書き換えるためのサーバー変数を使用できます。

Note

サーバー変数は、Azure Front Door Standard および Premium レベルで使用できます。

サポートされる変数

変数名 説明
socket_ip Azure Front Door エッジへの直接接続の IP アドレス。 クライアントが HTTP プロキシまたはロード バランサーを使用して要求を送信した場合、socket_ip の値はプロキシまたはロード バランサーの IP アドレスです。
一致条件でこのサーバー変数にアクセスするには、ソケット アドレスを使用します。
client_ip 元の要求を行ったクライアントの IP アドレス。 要求に X-Forwarded-For ヘッダーがあった場合、ヘッダーからクライアント IP が選択されます。
一致条件でこのサーバー変数にアクセスするには、リモート アドレスを使用し、"演算子" を "IP が次の値と一致" または "IP が次の値と一致しない" に設定します。
client_port 要求を行ったクライアントの IP アドレス。
一致条件でこのサーバー変数にアクセスするには、クライアント ポートを使用します。
hostname クライアントからの要求に含まれるホスト名。
一致条件でこのサーバー変数にアクセスするには、ホスト名を使用します。
geo_country 国および地域コードによって配信元の要求者の国および地域を示します。
一致条件でこのサーバー変数にアクセスするには、リモート アドレスを使用し、"演算子" を "geo が次の値と一致" または "geo が次の値と一致しない" に設定します。
http_method URL 要求を行うために使用されたメソッド (GETPOST など)。
一致条件でこのサーバー変数にアクセスするには、要求メソッドを使用します。
http_version 要求プロトコル。 通常は HTTP/1.0HTTP/1.1HTTP/2.0 です。
一致条件でこのサーバー変数にアクセスするには、HTTP バージョンを使用します。
query_string 要求された URL 内で ? の後にある、変数と値のペアから成る一覧。
たとえば、要求 http://contoso.com:8080/article.aspx?id=123&title=fabrikam の場合、query_string 値は id=123&title=fabrikam です。
一致条件でこのサーバー変数にアクセスするには、クエリ文字列を使用します。
request_scheme 要求スキーム: http または https
一致条件でこのサーバー変数にアクセスするには、要求プロトコルを使用します。
request_uri 完全な元の要求 URI (引数を含む)。
たとえば、要求 http://contoso.com:8080/article.aspx?id=123&title=fabrikam の場合、request_uri 値は http://contoso.com:8080/article.aspx?id=123&title=fabrikam です。
一致条件でこのサーバー変数にアクセスするには、要求 URL を使用します。
ssl_protocol 確立された TLS 接続のプロトコル。
一致条件でこのサーバー変数にアクセスするには、SSL プロトコルを使用します。
server_port 要求を受け付けたサーバーのポート。
一致条件でこのサーバー変数にアクセスするには、サーバー ポートを使用します。
url_path Web クライアントがアクセスする必要があるホスト内の特定のリソースを識別します。 これは、引数や先頭のスラッシュを含まない要求 URI の一部です。
たとえば、要求 http://contoso.com:8080/article.aspx?id=123&title=fabrikam の場合、url_path 値は article.aspx です。
一致条件でこのサーバー変数にアクセスするには、要求パスを使用します。

サーバー変数の形式

ルール セットのアクションを使用する場合は、次の形式を使用してサーバー変数を指定します。

  • {variable}: サーバー変数全体を含めます。 たとえば、クライアントの IP アドレスが 111.222.333.444 の場合、{client_ip} トークンは 111.222.333.444 に評価されます。
  • {variable:offset}: 特定のオフセットの後から、変数の末尾まで、サーバー変数を含めます。 オフセットは 0 から始まります。 たとえば、クライアントの IP アドレスが 111.222.333.444 の場合、{client_ip:3} トークンは .222.333.444 に評価されます。
  • {variable:offset:length}: 特定のオフセットの後から、指定した長さまで、サーバー変数を含めます。 オフセットは 0 から始まります。 たとえば、変数 var が 'AppId=01f592979c584d0f9d679db3e66a3e5e' の場合、
    • 範囲内のオフセット、長さなし: {var:0} = AppId=01f592979c584d0f9d679db3e66a3e5e{var:6} = 01f592979c584d0f9d679db3e66a3e5e{var:-8} = e66a3e5e
    • 範囲外のオフセット、長さなし: {var:-128} = AppId=01f592979c584d0f9d679db3e66a3e5e{var:128} = null
    • 範囲内のオフセットと長さ: {var:0:5} = AppId{var:7:7} = 1f59297{var:7:-7} = 1f592979c584d0f9d679db3e
    • 長さ 0: {var:0:0} = null、{var:4:0} = null
    • 範囲内のオフセットと範囲外の長さ: {var:0:100} = AppId=01f592979c584d0f9d679db3e66a3e5e{var:5:100} = =01f592979c584d0f9d679db3e66a3e5e{var:0:-48} = null、{var:4:-48} = null

サポートされているルール セットのアクション

サーバー変数は、次のルール セットのアクションでサポートされています。

次の手順