このガイドでは、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/ |