Power Pages 사이트를 사용하여 Azure Front Door 설정
웹 사이트 제작자는 Power Pages와 함께 Azure Front Door를 사용하여 에지 캐싱 및 WAF(웹 애플리케이션 방화벽) 기능을 사용할 수 있습니다. 이 문서에서는 Power Pages를 사용하여 Azure Front Door를 설정하는 방법을 알아봅니다.
노트
- 이 문서는 Azure Front Door 표준/프리미엄(프리뷰)애 중점을 두고 있지만, 유사한 단계를 Azure Front Door 또는 기타 콘텐츠 배달 네트워크 또는 WAF 제공 업체에도 사용할 수 있습니다. 다양한 구성 요소에서 사용하는 용어는 다를 수 있습니다.
- Azure Portal을 사용하는 사용자 지정 도메인 HTTPS 설정을 선택하면 기본 최소값 1.0과 1.2 사이의 TLS 버전, 강력한 암호에는 TLS 버전 1.2를 사용합니다.
Power Pages를 사용하여 Azure Front Door를 설정하려면 다음 단계를 따르세요.
- 웹 사이트 사용자가 사용할 Azure Front Door 끝점 및 사용자 지정 도메인 이름 설정.
- Power Pages 사이트를 원본으로 구성.
- 정적 요청을 캐시하는 회람 규칙 설정.
- 수신 요청을 분석하기 위한 WAF 규칙 설정.
- Azure Front Door의 트래픽만 허용하도록 사이트 설정.
Azure Front Door 끝점 및 사용자 지정 도메인 이름 설정
이 섹션에서는 Azure Front Door 서비스를 설정하고 이 설정에 대해 사용자 지정 도메인 이름을 사용하도록 설정하는 방법을 알아봅니다.
필수 조건
새 서비스를 만들 수 있는 액세스 권한이 있는 Azure 구독.
사용자 지정 도메인 이름 설정을 위한 사용자 지정 도메인 이름 및 DNS 공급자에 대한 액세스.
사용자 지정 도메인 이름에 사용할 SSL 인증서. 인증서는 Power Pages용 최소 요구 사항을 충족해야 합니다.
담당자 액세스를 사용하여 Power Pages에 대한 사용자 지정 도메인 이름을 설정합니다.
Azure Front Door 끝점 설정
노트
Azure Front Door 리소스를 이미 만든 경우 다음 절차의 3단계로 이동합니다.
Azure Portal에 로그인하고 새 Azure Front Door(표준 또는 프리미엄) 리소스를 만듭니다. 추가 정보: 빠른 시작: Azure Front Door 표준/프리미엄 프로필 만들기 - Azure Portal
빨리 만들기를 선택합니다.
팁
대부분의 Azure Front Door 설정은 나중에 변경할 수 있습니다.
리소스를 구성하려면 다음 세부 정보를 선택하거나 입력합니다.
옵션 설명 프로젝트 세부 정보 다른 Azure 리소스와 유사한 리소스 조직과 관련된 설정입니다. 구독 Azure Front Door 리소스를 만들 구독을 선택합니다. 리소스 그룹 Azure Front Door에 대한 리소스 그룹을 선택합니다. 또한 새 리소스 그룹을 만들 수도 있습니다. 리소스 그룹 위치 리소스 그룹의 위치입니다. 프로필 정보 Azure Front Door에 대한 구성입니다. 이름 Azure Front Door 리소스의 이름입니다. 계층 Azure Front Door 리소스에 대한 계층을 선택합니다. 이 문서에서는 WAF에 대한 Microsoft 관리형 규칙 집합 및 봇 방지 규칙 집합에 대한 액세스를 허용하는 프리미엄 계층을 선택했습니다. 끝점 설정 Azure Front Door 끝점 설정입니다. 끝점 이름 Azure Front Door 요청의 이름을 입력합니다. 이 이름은 사용자에게 트래픽을 제공할 실제 URL입니다. 나중에 이 URL을 가리키는 사용자 지정 도메인 이름을 설정합니다. 기원 타입 사용자 지정을 선택합니다. 원본 호스트 이름 Power Pages 사이트의 호스트 이름입니다.
형식: 처음에https://
없이yoursitename.powerappsportals.com
또는yoursitename.microsoftcrmportals.com
.
contoso.powerappsportals.com
을 예로 들 수 있습니다.비공개 링크 비공개 링크 서비스를 활성화하지 마세요. 캐싱 캐싱을 사용합니다. 캐싱은 정적 콘텐츠에 대해 에지 캐싱 기능을 사용합니다.
캐싱은 이 문서의 뒷부분인 "정적 요청을 캐시하는 회람 규칙 설정"에서 다룹니다.쿼리 문자열 캐시 동작 쿼리 문자열 사용을 선택합니다. 이 옵션은 페이지에 쿼리 문자열을 충족하는 동적 콘텐츠가 있는 경우 쿼리 문자열을 고려하도록 합니다. 압축 압축을 활성화합니다. WAF 정책 기존 정책을 선택하거나 새 WAF 정책을 만듭니다.
WAF 정책에 대한 정보를 보려면 이 문서의 뒷부분인 "수신 요청을 분석하기 위한 WAF 규칙 설정" 및 자습서: Azure Portal을 사용하여 Azure Front Door에서 웹 애플리케이션 방화벽 정책 만들기로 이동하세요.검토 + 만들기를 선택하고 설정이 완료될 때까지 기다립니다. 일반적으로 5~10분이 소요됩니다.<
엔드포인트 URL(예:
contoso.example.azurefd.net
)을 찾아 Power Pages 사이트의 콘텐츠가 표시되는지 확인하여 설정의 유효성을 검사합니다.팁
"404 Not Found" 응답이 표시되면 설정이 완료되지 않았을 수 있습니다. 잠시 기다렸다가 다시 시도하세요.
사용자 지정 도메인 이름 설정
지금까지 Azure Front Door 끝점은 Power Pages 백엔드에서 오는 트래픽을 처리하도록 설정되었습니다. 그러나 이 설정은 여전히 Azure Front Door URL을 사용하므로 보안 문자 확인 실패 또는 크기 조정 문제와 같은 문제가 발생합니다.
웹 브라우저는 사이트의 URL과 다른 Azure Front Door 엔드포인트 URL을 사용하는 경우 Power Pages에서 설정한 쿠키를 거부합니다. 따라서 사이트와 Azure Front Door 끝점 모두에 대해 사용자 지정 도메인 이름을 설정해야 합니다.
사이트에서 사용자 정의 도메인 이름을 설정합니다. 추가 정보: 사용자 지정 도메인 이름 추가.
다음을 수행하여 Azure Front Door 리소스에서 사이트 사용자 지정 도메인 이름을 활성화합니다.
Power Pages에 대한 사용자 지정 도메인 설정 중에 이전에 생성된 CNAME 레코드를 제거하여 DNS 공급자를 업데이트합니다. CNAME만 업데이트해야 합니다. 원본 호스트 이름을 제거하지 마세요. DNS는 CNAME를 Azure Front Door 끝점로 가리킵니다. CNAME를 추가하는 유일한 목적은 사용자 지정 호스트 이름이 Power Pages에 표시되도록 하는 것이었습니다. 이 존재는 Power Pages가 Azure Front Door를 통해 이 사용자 지정 도메인 이름에 대한 트래픽을 제공할 수 있도록 하며 모든 사이트 쿠키에도 도메인이 올바르게 설정됩니다.
다음 단계에 따라 Azure Front Door 끝점에서 사용자 지정 도메인 이름을 설정합니다. Azure Portal을 사용하여 Azure Front Door 표준/프리미엄 SKU에 사용자 지정 도메인 만들기.
설정을 확인하려면 다음을 확인하세요.
Azure Front Door 끝점을 가르키는 사용자 지정 도메인 이름. nslookup을 사용하여 Azure Front Door 끝점에 대한 CNAME 항목이 올바르게 반환되었는지 확인합니다. CNAME 항목이 여전히 Power Pages를 가리키는 경우 이를 수정해야 합니다.
사용자 정의 도메인 이름을 탐색하면 Power Pages 웹 사이트 페이지가 표시됩니다.
이 단계를 수행하면 웹 사이트에 대한 기본 Azure Front Door 끝점 설정이 완료됩니다. 다음 단계에서는 이 구성을 보다 효율적이고 다양한 사용 사례를 더 잘 처리할 수 있도록 다양한 설정과 규칙을 업데이트합니다.
사이트를 원본 서버로 구성
다음 단계는 설정이 올바르게 작동하도록 원본 서버 설정을 최적화하는 것입니다. Azure Portal의 Azure Front Door 구성에서 끝점 관리자를 사용하여 원본 그룹 설정을 업데이트합니다.
이전에 수행한 빠른 만들기 설정 중에 기본-원본-그룹(연결됨)이라는 이름으로 구성을 자동으로 만든 끝점 세부 정보를 입력했습니다(이 이름은 로케일 설정에 따라 다를 수 있습니다). 이 단계에서는 기본-원본-그룹에 대한 설정을 수정합니다. 다음 이미지는 원본 그룹을 처음 열 때 이 단계의 설정이 어떤지를 보여줍니다.
Azure Front Door의 원본은 사용자에게 콘텐츠를 제공하기 위해 Azure Front Door 에지 서버가 연결하는 백엔드 서비스를 나타냅니다. Azure Front Door 인스턴스에 여러 원본을 추가하여 여러 백엔드 서비스에서 콘텐츠를 가져올 수 있습니다.
팁
Power Pages는 서비스 계층에서 고가용성을 제공하므로 사이트에 대한 원본을 설정할 때 단일 원본 서버로 충분합니다.
Power Pages 사이트의 단일 원본은 (이전에 설정한) 사이트의 호스트 이름을 가리켜야 합니다. 빨리 만들기 설정 단계를 따르지 않은 경우 사이트 호스트 이름을 가리키는 새 원본을 추가할 수 있습니다.
다음 이미지는 원본 구성의 예를 보여줍니다.
다음 설정을 사용하여 Power Pages 사이트의 원본을 구성합니다.
옵션 | 구성 유형 또는 값 |
---|---|
기원 타입 | 사용자 지정을 선택합니다. |
원본 호스트 이름 | 사이트의 호스트 이름을 입력합니다. contoso.powerappsportals.com 을 예로 들 수 있습니다. |
원본 호스트 헤더 | 사용자 정의 도메인 이름을 입력하거나 비워 두세요. 이름을 입력하면 Azure Front Door가 원본 헤더를 사용자 지정 도메인 이름으로 보냅니다. 이름을 비워두면 사용자가 요청하는 동안 제공한 모든 항목을 통과하게 됩니다. |
HTTP 포트 | 80 |
HTTPS 포트 | 443 |
우선 순위 | 1 |
두께 | 1000 |
비공개 링크 | 사용 중지됨 |
실행 상태 | 이 원본 사용 확인란을 선택합니다. |
원본을 구성하고 원본 그룹으로 돌아간 후, 다음 테이블에 설명된 대로 상태 프로브 및 로드 밸런싱 옵션에 대한 설정을 업데이트하세요.
옵션 | 구성 유형 또는 값 |
---|---|
상태 프로브 | 상태 프로브는 원본 서비스가 실행 중인지 확인하고 프로브 결과에 따라 트래픽 회람을 결정하는 메커니즘입니다. 이 경우에는 상태 프로브가 필요하지 않으므로 껐습니다. |
부하 분산 | 단일 원본이 설정되어 있고 상태 프로브가 꺼져 있기 때문에 이 설정은 어떤 역할도 하지 않습니다. |
원본 그룹 구성이 다음 이미지와 같은지 확인합니다.
정적 요청을 캐시하는 회람 규칙 설정
경로는 사이트의 확장성을 개선하기 위해 Azure Front Door의 에지 캐싱 기능을 사용하는 방법을 결정합니다. 경로 설정은 사이트에서 제공하는 동적 콘텐츠를 캐싱하지 않도록 하는 중요한 단계이기도 합니다. 이로 인해 의도하지 않은 데이터 액세스가 발생할 수 있습니다.
규칙 설정을 위해 다음을 수행해야 합니다.
경로 구성 설정
경로 구성을 설정하려면 왼쪽 창에서 끝점 관리자를 선택하고 경로를 선택한 다음 기본 경로를 선택합니다. 기본-경로는 빨리 만들기 설정 환경에서 생성됩니다.
다음 테이블에 설명된 대로 경로 구성을 업데이트합니다.
옵션 | 구성 |
---|---|
도메인 섹션 | |
도메인 | 이전에 사용자 지정 도메인 이름을 설정할 때 사용한 도메인 이름입니다. |
일치하는 패턴 | /*(기본값)을 설정하면 모든 사이트 요청이 설정에서 동일한 원본으로 전송됩니다. |
허용되는 프로토콜 | HTTPS만을 설정하면 제공되는 모든 트래픽이 안전한지 확인합니다. |
리디렉션 | HTTPS를 사용하도록 모든 트래픽 리디렉션 확인란을 선택합니다. |
원본 그룹 섹션 | |
원본 그룹 | 이전에 정의한 원본 그룹으로 설정합니다. |
원본 경로 | 비워 둡니다. |
전달 프로토콜 | HTTPS만 또는수신 요청 일치 중 하나로 설정합니다. |
캐싱 섹션 | |
캐싱 | 에지 캐싱을 사용하려면 캐싱 활성화 확인란을 선택하세요. |
쿼리 문자열 캐시 동작 | 쿼리 문자열 사용을 선택하여 쿼리 문자열을 기반으로 하는 동적 콘텐츠가 제공될 수 있도록 합니다. |
압축 | 압축 활성화를 선택하여 콘텐츠 전달을 최적화합니다. |
규칙 집합 설정
규칙 집합은 콘텐츠를 캐시하는 방법을 제어합니다. 이 단계는 사이트의 확장성을 개선하기 위해 에지 서버에서 콘텐츠를 캐시하는 방법을 제어하기 때문에 중요합니다. 그러나 잘못 구성된 규칙 집합이 각 개별 사용자에게 특별히 제공되어야 하는 동적 콘텐츠를 캐싱할 수 있습니다.
규칙 집합을 올바르게 설정하려면 사이트에서 제공하는 콘텐츠 유형을 이해하는 것이 중요합니다. 이러한 이해를 통해 유효한 규칙을 사용하여 규칙 집합을 구성할 수 있습니다. 이 문서의 시나리오에서 사이트는 모든 페이지에서 동적 콘텐츠를 사용하고 정적 파일도 제공합니다. 따라서 사이트는 다음을 수행하고자 합니다.
- 모든 정적 파일은 에지 서버에서 캐시되고 제공됩니다.
- 페이지 콘텐츠는 캐시되지 않습니다.
이 규칙 집합 구성 방법
왼쪽 창에서 규칙 집합을 선택한 다음 규칙 집합 추가를 선택합니다.
규칙 집합 이름을 입력한 다음 저장합니다.
이제 앞에서 언급한 시나리오의 요구 사항을 충족하도록 다음 구성을 사용하여 비즈니스 요구 사항을 기반으로 규칙 집합을 구성합니다.
요구 사항: 모든 정적 파일은 에지 서버에서 캐시되고 제공됨
이 시나리오의 사이트에는 파일 이름 확장명이 .css, .png, .jpg, .js, .svg, .woff 또는 .ico인 정적 파일이 포함될 수 있습니다. 따라서 요청된 파일 이름 확장명을 평가하고 특정 파일 형식을 확인하는 규칙이 필요합니다.
노트
요청 URL 또는 파일 이름을 사용하는 것과 같이 이 규칙을 작성하는 다른 방법이 있습니다. Azure Front Door 규칙 일치 조건에 대한 자세한 내용은 Azure Front Door 규칙 엔진 일치 조건으로 이동하세요.
연산자가 Equal로, 값이 css, png, jpg, js, svg, woff, ico로, Case 변환이 '변환 없음'으로 설정된 '요청 파일 확장'이라는 IF 조건의 스크린샷.
다음 작업 구성에서는 이러한 파일이 브라우저에서 조금 더 오래 캐시되도록 Power Pages에서 설정한 캐시 헤더를 재정의합니다. 기본적으로 Power Pages는 캐싱 만료를 1일로 설정합니다. 그러나 이 시나리오에서는 다음 이미지와 같이 캐시 만료 작업을 설정하고 캐시 동작을 재정의으로 설정하여 7일로 설정합니다.
이제 완성된 규칙은 다음 이미지와 같습니다.
요구 사항: 페이지 콘텐츠는 캐시되지 않음
일반적으로 Power Pages 설정은 페이지에 양식이 포함되어 있는 경우(즉, 레코드에 특정한 콘텐츠를 제공하는 경우), 캐시-제어 헤더 값이 비공개로 설정되어 Azure Front Door가 해당 요청을 캐시하지 않도록 합니다. 그러나 이 방법은 사용자 집합에 특정 레코드를 표시하는 것과 같이 유동적인 템플릿을 사용하여 페이지에 사용자별 콘텐츠를 포함하는 시나리오를 고려하지 않습니다. 따라서 웹 사이트 페이지가 캐시되지 않도록 명시적 규칙을 추가합니다.
첫 번째 단계는 조건을 설정하는 것입니다. 조건은 첫 번째 규칙에서 수행한 작업의 역 확인을 수행하고 요청이 캐시하려는 파일 형식 중 하나를 가리키는 파일 이름 확장자를 포함하지 않는지 확인합니다.
연산자가 Not equal로, 값이 css, png, jpg, js, svg, woff, ico로, Case 변환이 '변환 없음'으로 설정된 '요청 파일 확장'이라는 IF 조건의 스크린샷.
작업 조건에서 이전 규칙과 유사하게 캐시 만료를 위한 작업을 작성합니다. 그러나 이번에는 동작을 캐시 우회로 설정합니다. 이렇게 하면 이 규칙을 충족하는 모든 요청이 캐시되지 않습니다.
완성된 규칙은 다음 이미지와 같습니다.
규칙 집합을 경로와 연결
규칙 집합을 만든 후 다음 단계는 이를 경로와 연결하는 것입니다.
규칙 집합을 선택한 다음 명령 모음에서 경로 연결을 선택합니다.
끝점 이름과 사용 가능한 경로를 선택합니다. 여러 경로를 사용할 수 있으므로 이전에 구성한 경로를 선택하세요.
규칙 집합이 여러 개 있고 규칙 집합의 평가 순서를 정의하려면 규칙 집합 순서 변경을 선택하여 순서를 구성합니다. 예제 시나리오에는 하나의 규칙 집합만 있습니다.
완료을 선택하여 완료합니다.
규칙 및 경로 구성 확인
규칙 및 경로 구성이 올바르게 작동하는지 확인하려면 모든 트래픽이 HTTPS를 통해 제공되고 캐싱 규칙이 올바르게 평가되었는지 확인합니다.
모든 트래픽을 HTTPS를 통해 제공하고 모든 HTTP 호출을 HTTPS로 리디렉션하는 방법
- 브라우저에 도메인 이름을 입력하고 콘텐츠가 렌더링되는 동안 URL이 자동으로 HTTPS로 변경되는지 확인합니다.
캐싱 규칙이 평가되고 예상대로 작동하는지 확인 방법
캐싱 규칙을 확인하려면 웹 브라우저의 개발자 도구 모음에서 네트워크 추적을 분석하여 다양한 유형의 콘텐츠에 대한 캐싱 헤더가 올바르게 설정되었는지 확인해야 합니다.
노트
규칙 변경 내용은 적용하려면 최대 10분이 소요될 수 있습니다.
새 브라우저 탭을 열고 개발자 도구 모음을 열어 Power Pages 사이트 URL로 이동합니다(URL로 이동하기 전에 개발자 도구 모음을 열었는지 확인).
모든 네트워크 요청을 보려면 네트워크 탭으로 이동하세요.
요청 목록에서 CSS 파일 요청을 선택하세요.
요청 세부 정보의 응답 헤더 섹션에서 x-캐시라는 이름의 헤더가 존재하는지 확인합니다. 이 헤더는 요청이 에지 서버를 통해 제공되고 캐시될 수 있도록 합니다. x-캐시의 값이 CONFIG_NOCACHE—또는 NOCACHE를 포함하는 다른 값—으로 설정된 경우 설정이 올바르지 않습니다.
이전 단계와 유사하게 페이지 요청을 선택하고 헤더를 확인합니다. x-캐시가 CONFIG_NOCACHE로 설정된 경우, 설정이 올바르게 작동하는 것입니다.
수신 요청을 분석하기 위한 WAF 규칙 설정
설정의 다음 단계는 수신 요청에 대해 WAF 규칙을 구성하는 것입니다. 이 문서에서는 기본 단계만 다룹니다. 고급 WAF 구성을 보려면 Azure Front Door의 Azure 웹 애플리케이션 방화벽으로 이동하세요.
왼쪽 창에서 보안을 선택합니다.
빨리 만들기 설정 중에 여기에 표시되는 새 WAF 정책을 이미 설정했습니다. 그러나 해당 단계를 건너뛴 경우 새로 만들기를 선택하여 새 정책을 설정할 수 있습니다.
WAF 정책 이름을 선택합니다.
정책 설정을 선택한 후:
요청 본문 검사 활성화: 쿠키, 헤더 및 URL 외에도 요청 본문을 검사하려면 이 확인란을 선택합니다.
리디렉션 URL: 사이트가 아닌 URL을 입력합니다. 이 URL은 WAF 규칙이 리디렉션으로 설정된 경우 사용자가 리디렉션되는 위치입니다. 이 URL이 공개적인 익명 액세스가 가능한지 확인합니다.
차단 요청 상태 코드: 이 HTTP 상태 코드는 요청이 WAF에 의해 차단된 경우 사용자에게 반환됩니다.
차단 응답 본문: WAF에 의해 요청이 차단된 경우 사용자에게 표시될 사용자 정의 메시지를 여기에 추가할 수 있습니다.
모든 요청이 평가될 규칙 집합을 구성하려면 다음을 수행합니다.
왼쪽 창에서 관리 규칙을 선택합니다.
명령 모음에서 할당을 선택한 다음 기본 규칙 집합 목록에서 선택합니다. 관리 규칙 집합은 Microsoft에서 관리하며 정기적으로 업데이트됩니다. 규칙 집합에 대한 자세한 내용은 웹 응용 프로그램 방화벽 DRS 규칙 그룹 및 규칙으로 이동하세요.
관리 규칙 집합이 할당되면 설정이 완료됩니다. 추가 단계로 기존 규칙에 대한 제외 목록을 설정하고 사용자 지정 규칙을 활성화하는 방법을 살펴볼 수도 있습니다.
중요
기본적으로 WAF는 탐지 정책 모드에서 설정되며, 이 모드는 규칙 집합에 대한 문제를 감지하고 기록합니다. 그러나 이 모드는 요청을 차단하지 않습니다. 요청을 차단하려면 WAF를 예방 모드로 전환해야 합니다.
예방 모드에서 철저한 테스트를 수행하여 모든 시나리오가 작동하는지 확인하고 규칙 집합을 조정하거나 제외 정책을 추가할 필요가 없는지 확인하는 것이 좋습니다. 전체 설정이 예상대로 작동하는지 확인한 후에만 예방 모드를 활성화해야 합니다.
Azure Front Door의 트래픽만 허용하도록 Power Pages 설정
이 설정의 마지막 단계는 Power Pages 사이트가 Azure Front Door의 트래픽만 허용하는지 확인하는 것입니다. 이 확인을 위해 사이트에서 IP 주소 제한 을 활성화해야 합니다.
Azure Front Door가 작동하는 IP 주소 범위를 찾으려면 내 백엔드에 대한 액세스를 Azure Front Door로만 잠그는 방법으로 이동하세요.
노트
Power Pages는 필터링 기반 X-Azure-FDID를 지원하지 않습니다.
원본 응답 시간 증가
기본적으로 Azure Front Door의 원본 응답 제한 시간은 60초입니다. 그러나 파일 업로드 또는 Excel로 내보내기와 같은 장기 실행 시나리오가 예상대로 작동하도록 이 시간을 240초로 늘리는 것이 좋습니다.
왼쪽 창에서 끝점 관리자를 선택합니다.
끝점 편집을 선택합니다.
화면 오른쪽 위에서 끝점 속성을 선택합니다.
원본 응답 시간을 240초로 변경 후 업데이트를 선택합니다.
참조
Azure Front Door란?
빠른 시작: Azure Front Door 프로필 만들기 - Azure Portal
Azure Portal을 사용하여 Azure Front Door 표준/프리미엄 SKU에 사용자 지정 도메인 만들기
내 백엔드에 대한 액세스를 Azure Front Door로만 잠그는 방법
Azure Front Door 규칙 엔진 일치 조건