요청이 경로 구성과 일치하는 방법

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는 다음 논리를 사용하여 프런트 엔드 호스트를 일치합니다.

  1. 프런트 엔드 호스트에 정확히 일치하는 경로가 있는지 확인합니다.
  2. 일치하는 프런트 엔드 호스트가 없으면 요청이 거부되고 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는 요청 경로에 따라 라우팅 규칙을 선택합니다. 프런트 엔드 호스트와 유사한 논리는 요청 경로와 일치하는 데 사용됩니다.

  1. 요청 경로와 정확히 일치하는 라우팅 규칙이 있는지 확인합니다.
  2. 정확히 일치하는 경로가 없는 경우 Front Door는 일치하는 와일드카드 경로가 있는 라우팅 규칙을 찾습니다.
  3. 일치하는 경로를 사용하여 라우팅 규칙을 찾을 수 없는 경우 요청이 거부되고 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 다시 쓰기 가 구성되었는지 여부를 평가합니다. 사용자 지정 전달 경로가 없는 경우 요청은 변경 없이 구성된 백 엔드 풀의 적절한 백 엔드로 전달됩니다. 사용자 지정 전달 경로가 정의된 경우 요청 경로는 사용자 지정 전달 경로 에 정의된 대로 업데이트된 다음 백 엔드로 전달됩니다.

다음 단계