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

Azure Front Door의 경로는 들어오는 요청이 Azure Front Door 에지에 도착할 때 트래픽이 처리되는 방법을 정의합니다. 경로 설정을 통해 도메인과 원본 그룹 간의 연결이 정의됩니다. 일치할 패턴규칙 집합와 같은 고급 기능을 사용하면 백 엔드 리소스에 대한 트래픽을 세밀하게 제어할 수 있습니다.

참고 항목

Front Door 규칙 집합를 사용하면 요청에 대해 원본 그룹을 재정의하도록 규칙을 구성할 수 있습니다. 규칙 집합에 의해 설정된 원본 그룹은 이 문서에 설명된 라우팅 프로세스를 재정의합니다.

Important

Azure Front Door(클래식)는 2027년 3월 31일에 사용이 중지됩니다. 서비스가 중단되지 않도록 하려면 2027년 3월까지 Azure Front Door 표준 또는 프리미엄 계층으로 Azure Front Door(클래식) 프로필을 마이그레이션하는 것이 중요합니다. 자세한 내용은 Azure 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: 잘못된 요청 오류가 전송됩니다.

다음 표에는 프런트 엔드 호스트 및 경로가 포함된 세 가지 라우팅 규칙이 나와 있습니다.

라우팅 규칙 프런트 엔드 호스트 Path
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는 특정 프런트 엔드 호스트를 결정하고 가능한 라우팅 규칙에 대해 필터를 적용한 후 요청 경로를 기반으로 라우팅 규칙을 선택합니다. 요청 경로를 일치시키기 위해 프런트 엔드 호스트와 유사한 논리가 사용됩니다.

  1. 요청 경로와 정확히 일치하는 라우팅 규칙이 있는지 확인합니다.
  2. 정확히 일치하는 경로가 없으면 Front Door는 일치하는 와일드카드 경로가 있는 라우팅 규칙을 찾습니다.
  3. 일치하는 경로와 함께 라우팅 규칙이 없으면 요청이 거부되고 400: 잘못된 요청 오류가 전송됩니다.

참고 항목

와일드카드 문자 *은 뒤에 다른 문자가 없는 경로에만 유효합니다. 또한 와일드카드 문자 * 앞에는 슬래시 /가 와야 합니다. 와일드카드가 없는 경로는 정확히 일치하는 경로로 간주됩니다. 슬래시 /로 끝나는 경로도 완전 일치 경로입니다. 오류를 방지하려면 경로가 다음 규칙을 따르는지 확인합니다.

참고 항목

  • 와일드카드가 없는 모든 경로는 정확히 일치하는 경로로 간주됩니다. 경로가 /로 끝나는 경우 이는 정확히 일치하는 것으로 간주됩니다.
  • 경로를 일치시키는 패턴은 대/소문자를 구분하지 않습니다. 즉, 대/소문자가 다른 경로는 중복으로 처리됩니다. 예를 들어, 경로가 /FOO/foo인 동일한 프로토콜을 사용하는 동일한 호스트가 있습니다. 이러한 경로는 패턴 일치 설정에서 허용되지 않는 중복으로 간주됩니다.

다음 표는 라우팅 규칙, 프런트 엔드 호스트 및 경로 조합의 목록입니다.

라우팅 규칙 프런트 엔드 호스트 Path
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

Warning

모두 캐치 라우팅 경로(/*)와 정확히 일치하는 프런트 엔드 호스트에 대한 회람 규칙이 없을 경우 회람 규칙과 일치하는 항목이 없는 것입니다.

예제 구성:

경로 Host Path
A profile.contoso.com /api/*

일치하는 테이블:

들어오는 요청 일치하는 경로
profile.domain.com/other 없음. 오류 400: 잘못된 요청

라우팅 의사 결정

Front Door가 단일 라우팅 규칙과 일치하면 요청을 처리하는 방법을 선택해야 합니다. Azure Front Door에 일치하는 라우팅 규칙에 사용할 수 있는 캐시된 응답이 있으면 요청이 클라이언트에 다시 제공됩니다.

마지막으로 Azure Front Door는 일치하는 라우팅 규칙에 대해 구성된 규칙 집합이 있는지 여부를 평가합니다. 규칙 집합이 정의되지 않은 경우 요청은 변경 내용 없이 원본 그룹으로 전달됩니다. 그렇지 않으면 규칙 집합이 구성된 순서대로 처리됩니다. 특정 원본 그룹에 트래픽을 강제로 적용하여 규칙 집합을 재정의할 수 있습니다.

Front Door(클래식)에 일치하는 라우팅 규칙에 대해 캐시된 응답이 없는 경우 일치하는 라우팅 규칙에 대해 URL 다시 쓰기가 구성되어 있는지 평가합니다. 사용자 지정 전달 경로가 없으면 요청은 변경 없이 구성된 백 엔드 풀의 적절한 백 엔드로 전달됩니다. 사용자 지정 전달 경로가 정의된 경우 요청 경로는 사용자 지정 전달 경로에 정의된 대로 업데이트된 다음 백 엔드로 전달됩니다.

다음 단계