요청이 경로 구성과 일치하는 방법
Azure Front Door의 경로 는 들어오는 요청이 Azure Front Door 에지에 도착할 때 트래픽이 처리되는 방법을 정의합니다. 경로 설정을 통해 도메인과 원본 그룹 간에 연결이 정의됩니다. 패턴 일치 및 규칙 집합과 같은 고급 기능을 사용하면 백 엔드 리소스에 대한 트래픽을 세부적으로 제어할 수 있습니다.
참고
Front Door 규칙 집합을 사용하는 경우 요청에 대한 원본 그룹을 재정의하도록 규칙을 구성할 수 있습니다. 규칙 집합에서 설정한 원본 그룹은 이 문서에 설명된 라우팅 프로세스를 재정의합니다.
요청이 Azure Front Door(클래식) 에지에 도착하면 Front Door가 수행하는 첫 번째 작업 중 하나는 일치하는 요청을 백 엔드 리소스로 라우팅한 다음 라우팅 구성에서 정의된 작업을 수행하는 방법을 결정하는 것입니다. 다음 문서에서는 Front Door가 요청을 처리할 때 사용할 경로 구성을 결정하는 방법을 설명합니다.
Front Door 경로 구성의 구조
Front Door 라우팅 규칙은 두 가지 주요 부분인 "왼쪽"과 "오른쪽"으로 구성됩니다. Front Door는 들어오는 요청을 경로의 왼쪽에 일치하지만 오른쪽은 요청이 처리되는 방법을 정의합니다.
들어오는 매칭(왼쪽)
다음은 들어오는 요청이 회람 규칙(또는 왼쪽)과 매칭되는지 여부를 결정하는 속성입니다.
- HTTP 프로토콜 - HTTP 또는 HTTPS
- 도메인 - 예: www.foo.com, *.bar.com
- 경로 - 예: /*, /users/*, /file.gif
이러한 속성은 프로토콜/도메인/경로의 모든 조합이 잠재적 일치 집합이 되도록 내부적으로 확장됩니다.
라우팅 결정(오른쪽)
요청을 처리하는 방법의 결정은 경로에 대해 캐싱을 사용할 수 있는지 여부에 따라 달라집니다. 캐시된 응답을 사용할 수 없는 경우 요청이 적절한 원본으로 전달됩니다.
경로 매칭
이 섹션에서는 Front Door가 라우팅 규칙과 일치하는 방법에 중점을 둡니다. 기본 개념은 Front Door가 항상 "왼쪽"만 보는 가장 구체적인 요청 과 일치한다는 것입니다. Front Door는 먼저 프로토콜, 도메인 및 마지막 경로를 기반으로 일치합니다.
프런트 엔드 호스트 매칭
Azure Front Door는 다음 논리를 사용하여 프런트 엔드 호스트를 일치합니다.
- 프런트 엔드 호스트에 정확히 일치하는 경로가 있는지 확인합니다.
- 일치하는 프런트 엔드 호스트가 없으면 요청이 거부되고 400: 잘못된 요청 오류가 전송됩니다.
다음 표에서는 프런트 엔드 호스트 및 경로가 있는 세 가지 라우팅 규칙을 보여 줍니다.
라우팅 규칙 | 프런트 엔드 호스트 | 경로 |
---|---|---|
A | foo.contoso.com | /* |
b | foo.contoso.com | /users/* |
C | www.fabrikam.com, foo.adventure-works.com | /*, /images/* |
다음 표에서는 위의 라우팅 규칙에 대해 일치하는 결과를 보여 있습니다.
수신 프런트 엔드 호스트 | 일치하는 회람 규칙 |
---|---|
foo.contoso.com | A, B |
www.fabrikam.com | C |
images.fabrikam.com | 오류 400: 잘못된 요청 |
foo.adventure-works.com | C |
contoso.com | 오류 400: 잘못된 요청 |
www.adventure-works.com | 오류 400: 잘못된 요청 |
www.northwindtraders.com | 오류 400: 잘못된 요청 |
경로 매칭
Front Door가 특정 프런트 엔드 호스트를 결정하고 가능한 라우팅 규칙에 대한 필터를 확인한 후 Front Door는 요청 경로에 따라 라우팅 규칙을 선택합니다. 프런트 엔드 호스트와 유사한 논리는 요청 경로와 일치하는 데 사용됩니다.
- 요청 경로와 정확히 일치하는 라우팅 규칙이 있는지 확인합니다.
- 정확히 일치하는 경로가 없는 경우 Front Door는 일치하는 와일드카드 경로가 있는 라우팅 규칙을 찾습니다.
- 일치하는 경로를 사용하여 라우팅 규칙을 찾을 수 없는 경우 요청이 거부되고 400: 잘못된 요청 오류가 전송됩니다.
참고
- 와일드카드가 없는 모든 경로는 정확히 일치하는 경로로 간주됩니다. 경로가 에서
/
끝나는 경우 정확히 일치하는 것으로 간주됩니다.
참고
- 와일드카드가 없는 모든 경로는 정확히 일치하는 경로로 간주됩니다. 경로가 에서
/
끝나는 경우 정확히 일치하는 것으로 간주됩니다. - 경로를 일치시키는 패턴은 대/소문자를 구분하지 않습니다. 즉, 대/소문자가 다른 경로는 중복으로 처리됩니다. 예를 들어, 경로가
/FOO
및/foo
인 동일한 프로토콜을 사용하는 동일한 호스트가 있습니다. 이러한 경로는 패턴 일치 설정에서 허용되지 않는 중복으로 간주됩니다.
다음 표는 라우팅 규칙, 프런트 엔드 호스트 및 경로 조합의 목록입니다.
라우팅 규칙 | 프런트 엔드 호스트 | 경로 |
---|---|---|
A | www.contoso.com | / |
b | www.contoso.com | /* |
C | www.contoso.com | /ab |
D | www.contoso.com | /abc |
E | www.contoso.com | /abc/ |
F | www.contoso.com | /abc/* |
G | www.contoso.com | /abc/def |
H | www.contoso.com | /path/ |
다음 표에서는 Front Door 에지에 도착할 때 들어오는 요청이 일치하는 라우팅 규칙을 보여줍니다.
들어오는 요청 | 일치하는 경로 |
---|---|
www.contoso.com/ | A |
www.contoso.com/a | b |
www.contoso.com/ab | C |
www.contoso.com/abc | D |
www.contoso.com/abzzz | b |
www.contoso.com/abc/ | E |
www.contoso.com/abc/d | F |
www.contoso.com/abc/def | G |
www.contoso.com/abc/defzzz | F |
www.contoso.com/abc/def/ghi | F |
www.contoso.com/path | b |
www.contoso.com/path/ | H |
www.contoso.com/path/zzz | b |
경고
모두 캐치 라우팅 경로(/*
)와 정확히 일치하는 프런트 엔드 호스트에 대한 회람 규칙이 없을 경우 회람 규칙과 일치하는 항목이 없는 것입니다.
예제 구성:
경로 | 호스트 | 경로 |
---|---|---|
A | profile.contoso.com | /api/* |
일치하는 테이블:
들어오는 요청 | 일치하는 경로 |
---|---|
profile.domain.com/other | 없음 오류 400: 잘못된 요청 |
라우팅 의사 결정
Front Door가 단일 라우팅 규칙과 일치하면 요청을 처리하는 방법을 선택해야 합니다. Azure Front Door에 일치하는 라우팅 규칙에 사용할 수 있는 캐시된 응답이 있는 경우 요청이 클라이언트에 다시 제공됩니다.
마지막으로 Azure Front Door는 일치하는 라우팅 규칙에 대해 구성된 규칙 집합 이 있는지 여부를 평가합니다. 규칙 집합이 정의되지 않으면 변경 없이 요청이 원본 그룹에 전달됩니다. 그렇지 않으면 규칙 집합이 구성된 순서대로 처리됩니다. 규칙 집합 은 특정 원본 그룹에 트래픽을 강제로 적용하여 경로를 재정의할 수 있습니다.
Front Door(클래식)에 일치하는 라우팅 규칙에 대한 캐시된 응답이 없는 경우 일치하는 라우팅 규칙에 대해 URL 다시 쓰기 가 구성되었는지 여부를 평가합니다. 사용자 지정 전달 경로가 없는 경우 요청은 변경 없이 구성된 백 엔드 풀의 적절한 백 엔드로 전달됩니다. 사용자 지정 전달 경로가 정의된 경우 요청 경로는 사용자 지정 전달 경로 에 정의된 대로 업데이트된 다음 백 엔드로 전달됩니다.
다음 단계
- Azure Front Door를 만드는 방법을 알아봅니다.
- Azure Front Door 라우팅 아키텍처에 대해 알아봅니다.
- Azure Front Door(클래식)를 만드는 방법을 알아봅니다.
- Azure Front Door 라우팅 아키텍처에 대해 알아봅니다.