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 要求を行うために使用されたメソッド (GET や POST など)。一致条件でこのサーバー変数にアクセスするには、要求メソッドを使用します。 |
http_version |
要求プロトコル。 通常は HTTP/1.0 、HTTP/1.1 、HTTP/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
- 範囲内のオフセット、長さなし:
サポートされているルール セットのアクション
サーバー変数は、次のルール セットのアクションでサポートされています。
- ルート構成のオーバーライドでのクエリ文字列のキャッシュ動作
- 要求ヘッダーの変更
- 応答ヘッダーの変更
- URL リダイレクト
- URL 書き換え
次の手順
- Azure Front Door のルール セットの詳細について確認します。
- ルール セットの一致条件の詳細を確認します。
- ルール セットのアクションの詳細を確認します。