Edgio Premium 규칙 엔진 참조의 Azure Content Delivery Network
이 문서에서는 Azure Content Delivery Network 규칙 엔진에 제공되는 일치 조건 및 기능에 대해 자세히 설명합니다.
규칙 엔진은 콘텐츠 배달 네트워크에서 특정 형식의 요청을 처리하는 방법에 대한 최종 권한을 부여하도록 설계되었습니다.
일반적인 사용:
- 사용자 지정 캐시 정책을 재정의하거나 정의합니다.
- 중요한 콘텐츠에 대한 요청에 대해 보안을 유지하거나 거부합니다.
- 요청을 리디렉션합니다.
- 사용자 지정 로그 데이터를 저장합니다.
주요 개념
이 문서에는 규칙 엔진 설정의 주요 개념이 설명되어 있습니다.
임시
정책의 초안은 요청과 이러한 요청에 적용되는 작업 집합을 식별하는 하나 이상의 규칙으로 구성됩니다. 초안은 사이트 트래픽에 영향을 주지 않고 구성을 자주 업데이트할 수 있는 진행 중인 작업입니다. 초안을 완성할 준비가 되면 읽기 전용 정책으로 변환해야 합니다.
규칙
규칙은 하나 이상의 요청 유형과 이러한 요청에 적용되는 작업 집합을 식별합니다.
이는 다음으로 구성됩니다.
- 요청을 식별하는 논리를 정의하는 조건식 집합
- 요청을 식별하는 데 사용되는 조건을 정의하는 일치 조건 집합
- 위의 요청을 콘텐츠 배달 네트워크가 처리하는 방법을 정의하는 기능 집합입니다. 이러한 요소는 다음 그림에서 확인할 수 있습니다.
정책
읽기 전용 규칙 집합으로 구성되는 정책은 다음을 수행하는 방법을 제공합니다.
- 규칙의 여러 변형 만들기, 저장, 관리
- 이전에 배포된 버전으로 롤백
- 이벤트별 규칙을 미리 준비(예: 고객 원본 유지 관리의 결과로 트래픽을 리디렉션하는 규칙)
참고 항목
환경별로 하나의 단일 정책만 허용되지만 필요에 따라 여러 정책을 배포할 수 있습니다.
배포 요청
배포 요청은 정책이 스테이징 환경 또는 프로덕션 환경에 신속하게 적용될 수 있는 간단하고 간소화된 절차를 제공합니다. 해당 환경에 적용되는 변경 내용을 쉽게 추적할 수 있도록 배포 요청 기록이 제공됩니다.
참고 항목
자동 유효성 검사 및 오류 검색 시스템을 통과하지 못하는 요청만 수동 검토 및 승인이 필요합니다.
규칙 우선 순위
정책에 포함된 규칙은 일반적으로 목록에 있는 순서대로 처리됩니다(예: 위에서 아래로). 요청에 일치하는 규칙이 충돌하는 경우 마지막에 처리되는 규칙이 우선시됩니다.
정책 배포 워크플로
다음은 정책이 프로덕션 환경 또는 스테이징 환경에 적용될 수 있는 워크플로입니다.
단계 | Description |
---|---|
초안 만들기 | 초안은 콘텐츠 배달 네트워크에서 콘텐츠 요청을 처리하는 방법을 정의하는 일련의 규칙으로 구성됩니다. |
초안 잠금 | 초안이 완성되면 이를 잠그고 읽기 전용 정책으로 변환해야 합니다. |
배포 요청 제출 | 배포 요청을 통해 테스트 또는 프로덕션 트래픽에 정책을 적용할 수 있습니다. 스테이징 또는 프로덕션 환경에 배포 요청을 제출합니다. |
배포 요청 검토 | 배포 요청에서는 자동화된 유효성 검사 및 오류 검색이 수행됩니다. 대부분의 배포 요청이 자동으로 승인되기는 하지만, 더욱 복잡한 정책의 경우 수동 검토가 필요합니다. |
정책 배포(준비) | 스테이징 환경에 대한 배포 요청이 승인되면 정책이 스테이징 환경에 적용됩니다. 이 환경에서는 모의 사이트 트래픽에 대해 정책을 테스트할 수 있습니다. 정책을 라이브 사이트 트래픽에 적용할 준비가 되면 프로덕션 환경에 대한 새 배포 요청을 제출해야 합니다. |
정책 배포(프로덕션) | 프로덕션 환경에 대한 배포 요청이 승인되면 정책이 프로덕션 환경에 적용됩니다. 이러한 환경에서는 정책이 콘텐츠 배달 네트워크가 라이브 트래픽을 처리하는 방법을 결정하는 최종 기관 역할을 할 수 있습니다. |
구문
특수 문자가 처리되는 방식은 일치 조건 또는 기능이 텍스트 값을 처리하는 방식에 따라 다릅니다. 일치 조건 또는 기능은 다음 중 하나의 방법으로 텍스트를 해석할 수 있습니다.
리터럴 값
리터럴 값으로 해석되는 텍스트는 % 기호를 제외한 모든 특수 문자를 규칙에서 일치해야 하는 값의 일부로 취급합니다. 즉, \'*'\
로 설정된 리터럴 일치 조건은 정확한 값(예: \'*'\
)을 찾은 경우에만 충족됩니다.
백분율 기호는 URL 인코딩을 나타내는 데 사용됩니다(예: %20
).
와일드카드 값
와일드카드 값으로 해석되는 텍스트는 특수 문자에 추가적인 의미를 할당합니다. 다음 표에서는 다음 문자 집합이 해석되는 방식을 설명합니다.
문자 | 설명 |
---|---|
\ | 백슬래시는 이 테이블에 지정된 문자를 이스케이프하는 데 사용됩니다. 백슬래시는 이스케이프해야 하는 특수 문자 바로 앞에 지정되어야 합니다. 예를 들어 다음 구문은 별표를 이스케이프합니다. \* |
% | 백분율 기호는 URL 인코딩을 나타내는 데 사용됩니다(예: %20 ). |
* | 별표는 하나 이상의 문자를 나타내는 와일드카드입니다. |
Space | 공백 문자는 지정된 값 또는 패턴에 의해 일치 조건이 충족될 수 있음을 나타냅니다. |
'value' | 작은따옴표에는 특별한 의미가 없습니다. 그러나 값을 리터럴 값으로 취급해야 함을 나타내기 위해 작은따옴표 쌍을 사용합니다. 다음과 같은 방법으로 사용할 수 있습니다. - 지정된 값이 비교 값의 일부와 일치할 때마다 일치 조건이 충족될 수 있습니다. 예를 들어 'ma' 는 다음 문자열 중 하나와 일치합니다. /business/marathon/asset.htm map.gif /business/template.map - 특수 문자를 리터럴 문자로 지정할 수 있습니다. 예를 들어 공백 문자를 작은따옴표 쌍으로 묶어 리터럴 공백 문자를 지정할 수 있습니다(즉, ' ' 또는 'sample value' ).- 빈 값을 지정할 수 있습니다. 작은따옴표 쌍(예: '')을 지정하여 빈 값을 지정합니다. 중요: - 지정된 값이 와일드 카드를 포함하지 않으면 자동으로 리터럴 값으로 간주됩니다. 즉, 작은따옴표 집합을 지정할 필요가 없습니다. - 백슬래시가 이 테이블의 다른 문자를 이스케이프하지 않으면 작은따옴표 집합으로 묶어서 지정할 때 무시됩니다. - 특수 문자를 리터럴 문자로 지정하는 또 다른 방법은 백슬래시를 사용하여 이스케이프하는 것입니다(즉, \ ). |
정규식
정규식은 텍스트 값 내에서 검색될 패턴을 정의합니다. 정규식 표기법은 다양한 기호의 특정 의미를 정의합니다. 다음 표에는 특수 문자가 정규식을 지원하는 일치 조건 및 기능에 의해 처리되는 방식이 나와 있습니다.
특수 문자 | 설명 |
---|---|
\ | 백슬래시는 뒤에 오는 문자를 이스케이프합니다. 그러면 해당 문자가 정규식 의미를 갖지 않고 리터럴 값으로 처리됩니다. 예를 들어 다음 구문은 별표를 이스케이프합니다.\* |
% | 백분율 기호의 의미는 사용법에 따라 달라집니다.%{HTTPVariable} : 이 구문은 HTTP 변수를 식별합니다.%{HTTPVariable%Pattern} : 이 구문은 백분율 기호를 사용하여 HTTP 변수를 식별하고 구분 기호로 지정합니다.\% : 백분율 기호를 이스케이프하면 리터럴 값으로 사용되거나 URL 인코딩을 나타낼 수 있습니다(예: \%20 ). |
* | 별표를 사용하면 앞에 오는 문자의 일치 여부가 0번 이상 확인될 수 있습니다. |
Space | 공백 문자는 일반적으로 리터럴 문자로 취급됩니다. |
'value' | 작은따옴표는 리터럴 문자로 처리됩니다. 작은따옴표 쌍에는 특별한 의미가 없습니다. |
정규식을 지원하는 일치 조건 및 기능은 PCRE(Perl 호환 정규식)에서 정의한 패턴을 허용합니다.