이 가이드에서는 보안 웹 프록시의 UrlList
문법을 설명합니다.
UrlList
를 사용하면 여러 규칙에서 재사용할 수 있는 여러 일치 항목을 만들 수 있습니다.
UrlList
문법은 전체 또는 접미사로 일치하는 도메인과 매개변수 또는 접두어 경로가 없는 전체 경로가 포함된 URL을 지원합니다.
지원되는 와일드 카드
UrlList
는 부분 하위 도메인 또는 부분 경로를 일치시키기 위한 프리픽스로 사용할 수 있는 *
별표 와일드 카드 문자를 지원합니다.
부분 도메인을 제공하면 UrlList
는 전체 하위 도메인 토큰하고만 일치합니다. 경로 구분자가 제공되지 않으면 UrlList
는 모든 경로와 일치합니다. 예를 들어 example.com
을 제공하면 UrlList
는 도메인의 모든 경로를 포함하여 example.com/*
과 일치합니다.
UrlList
의 항목 해석 방법
보안 웹 프록시는 제공된 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/ |