このガイドでは、Secure Web Proxy の UrlList
構文について説明します。
UrlList
を使用すると、複数のルールで再利用できる一致エントリを多数作成できます。
UrlList
構文では、完全なドメインまたはサフィックスのドメインと、パラメータまたはプレフィックスパスのないフルパスの URL がサポートされます。
サポートされるワイルドカード
UrlList
では、*
アスタリスクのワイルドカード文字を使用できます。これは、部分サブドメインや部分パスを照合するために接頭辞として使用できます。
部分的なドメインを指定した場合、UrlList
は完全なサブドメイン トークンのみに一致します。パス区切り文字が指定されていない場合、UrlList
は任意のパスに一致します。たとえば、example.com
を指定すると、UrlList
はドメイン内のすべてのパスを含む example.com/*
と一致します。
UrlList
によるエントリの解釈
Secure Web Proxy は、指定された UrlList
パターンを使用して URL を照合し、URL が許可されているか否かを決定します。
UrlList
は、次のようにエントリを解釈します。
ピリオド(
.
)とスラッシュ(/
)を含むエントリは、正しい形式の URL である必要があります。サブドメインやパスのワイルドカードを含めることができます。最初の/
文字の左側のトークンは、google.com/news
の.com
などのトップレベル ドメインとして解釈されます。ピリオド(
.
)を含み、スラッシュ(/
)を含まないエントリはドメインとして解釈されます。サブドメインのワイルドカードを含めることができます。この場合、右端のトークンはabc.xyz
の.xyz
のように、トップレベル ドメインとして解釈されます。他のエントリはすべて無効です。
UrlList
パターンがスラッシュ(/
)を含む値と照合される場合(request.url()
など)、前述のようにパターンが解釈されます。ただし、UrlList
パターンが /
のない値(host()
など)と照合されると、パターンのドメイン部分のみが一致します。
パターン マッチングの例
次の表に、パターンの例、各パターンが一致する URL の例、各パターンが一致しない URL の例を示します。
パターン | 一致する | 一致しません |
---|---|---|
*example.com |
example.com/ server.example.com/ sample.server.example.com/ example.com/path example.com/path?q=query example.com/path/subpath sample.server.example.com/path/ |
myexample.com/ example.com.bad.com/ us13.altostrat.com/go/example.com/path www.google.com/search?q=example.com |
*.example.com |
server.example.com/ sample.server.example.com/ sample.server.example.com/path/ |
myexample.com/ example.com.bad.com/ us13.altostrat.com/go/example.com/path www.google.com/search?q=example.com example.com/ example.com/path example.com/path/subpath |
example.com |
example.com/ example.com/path example.com/path/subpath |
myexample.com/ example.com.bad.com/ us13.altostrat.com/go/example.com/path www.google.com/search?q=example.com server.example.com/ sample.server.example.com/ sample.server.example.com/path/ |
*server.example.com |
server.example.com/ sample.server.example.com/path sample.server.example.com/path/ |
myexample.com/ example.com.bad.com/ us13.altostrat.com/go/example.com/path www.google.com/search?q=example.com example.com/ example.com/path example.com/path/subpath |
*example.com/ |
example.com/ server.example.com/ sample.server.example.com/ |
myexample.com/ example.com.bad.com/ us13.altostrat.com/go/example.com/path www.google.com/search?q=example.com example.com/path/ example.com/path/subpath sample.server.example.com/path/ |
*example.com/path* |
example.com/path example.com/path/subpath sample.server.example.com/path/ |
myexample.com/ example.com.bad.com/ us13.altostrat.com/go/example.com/path www.google.com/search?q=example.com example.com/ server.example.com/ sample.server.com/ |
*example.com/path/* |
example.com/path/subpath sample.server.example.com/path/ |
myexample.com/ example.com.bad.com/ us13.altostrat.com/go/example.com/path www.google.com/search?q=example.com example.com/ server.example.com/ sample.server.example.com/ example.com/path |
*example.com/path/ |
sample.server.example.com/path/ | myexample.com/ example.com.bad.com/ us13.altostrat.com/go/example.com/path www.google.com/search?q=example.com example.com/ sample.example.com/ sample.server.example.com/ example.com/path example.com/path/subpath |
example.com/ |
example.com/ | myexample.com/ example.com.bad.com/ us13.altostrat.com/go/example.com/path www.google.com/search?q=example.com server.example.com/ sample.server.example.com/ example.com/path example.com/path/subpath sample.server.example.com/path/ |