Edge Delivery Services로 적응형 양식 게시
적응형 양식을 게시하면 최종 사용자가 액세스하고 제출할 수 있도록 Edge Delivery Services에서 사용할 수 있게 됩니다. 이 프로세스에는 양식 게시, 보안 설정 구성, 라이브 양식 액세스의 세 가지 주요 단계가 포함됩니다.
학습 내용:
- 양식을 Edge Delivery Services에 게시합니다.
- 양식 제출에 대한 보안 설정을 구성합니다.
- 게시된 양식에 액세스하고 확인합니다.
- 적절한 URL 라우팅 및 CORS 정책을 설정합니다.
사전 요구 사항
- Edge Delivery Services 템플릿을 사용하여 만든 적응형 양식
- 테스트를 거쳐 프로덕션 용도로 준비된 양식
- AEM Forms 작성자 권한
- Cloud Manager 액세스(프로덕션 구성용)
- 양식 블록 코드에 대한 개발자 액세스(제출 설정용)
게시 프로세스 개요
Edge Delivery Services에 양식을 게시하는 과정은 3단계로 진행됩니다.
- 1단계: 양식 게시 - 양식을 CDN에 게시하고 게시 상태를 확인합니다.
- 2단계: 보안 구성 - 보안 제출을 위해 CORS 정책 및 레퍼러 필터를 설정합니다.
- 3단계: 액세스 및 유효성 검사 - 양식 기능을 테스트하고 전체 워크플로의 유효성을 검사합니다.
각 단계는 이전 단계를 기반으로 구축되어 안전하고 기능적인 배포를 보장합니다.
1단계: 양식 게시
-
양식에 액세스: 범용 편집기에서 적응형 양식을 엽니다.
-
게시 시작: 도구 모음에서 게시 아이콘을 클릭합니다.
-
게시 자산 검토: 시스템에 양식을 비롯하여 게시되는 모든 자산이 표시됩니다.
-
게시 확인: 계속 진행하려면 게시 를 클릭합니다.
-
성공 확인: 확인 메시지를 찾습니다.
상태 확인: 게시 아이콘을 다시 클릭하여 현재 상태를 확인합니다.
유효성 검사 체크포인트:
- 편집기에서 양식에 “게시됨” 상태가 표시됩니다.
- 게시 프로세스 중에 오류 메시지가 표시되지 않습니다.
- 게시된 자산 목록에 양식이 나타납니다.
양식 게시 취소:
- 편집기에서 양식을 엽니다.
- 오른쪽 상단에 있는 세 개의 점 메뉴(⋯)를 클릭합니다.
- 게시 취소 를 선택합니다.
2단계: 보안 설정 구성
안전한 양식 제출을 활성화하려면 다음을 수행하는 보안 설정을 구성해야 합니다.
- Edge Delivery Services가 AEM에 데이터를 제출하도록 허용
- AEM 인스턴스에 대한 미승인 액세스 방지
- 양식 제출에 대해 CORS(원본 간 리소스 공유) 활성화
- 합법적인 Edge Delivery 도메인만 허용하도록 요청 필터링
note important |
---|
IMPORTANT |
프로덕션에 필요: 이 구성은 프로덕션 환경에서 양식 제출이 작동하는 데 필수적입니다. |
용도: AEM 인스턴스에 양식을 직접 제출합니다.
파일 위치: Edge Delivery Services 프로젝트의 blocks/form/constant.js
구성 예시:
code language-javascript |
---|
|
유효성 검사 체크포인트:
- 올바른 AEM 게시 URL로
constant.js
파일이 업데이트되었습니다. - URL이 사용자 환경(프로덕션, 스테이징 또는 로컬)과 일치합니다.
- URL 뒤에 슬래시가 없습니다.
용도: Edge Delivery Services 도메인의 양식 제출 요청을 허용합니다.
구현: AEM 디스패처 또는 Apache 구성에 CORS 구성을 추가합니다.
code language-apache |
---|
|
유효성 검사 체크포인트:
- 디스패처 구성에 CORS 규칙이 적용됩니다.
- 필요한 모든 도메인(localhost, hlx.page, hlx.live)이 포함됩니다.
- 대상 환경에 구성이 배포됩니다.
참조 설명서:
용도: 쓰기 작업을 승인된 Edge Delivery Services 도메인으로 제한합니다.
구현 방법: AEM as a Cloud Service에서 Cloud Manager를 통해 구성합니다.
구성 파일: 프로젝트의 OSGi 구성에 추가합니다.
code language-json |
---|
|
구성 세부 사항:
allow.empty
: 레퍼러 헤더가 없는 요청을 거부합니다.allow.hosts.regexp
: Edge Delivery Services 도메인의 요청을 허용합니다.filter.methods
: 이러한 HTTP 메서드에 필터링을 적용합니다.exclude.agents.regexp
: 필터링에서 제외된 사용자 에이전트
유효성 검사 체크포인트:
- Cloud Manager를 통해 배포된 레퍼러 필터 구성
- AEM 게시 인스턴스에서 활성화된 구성
- Edge Delivery Services 도메인에서 양식 제출이 작동하는지 테스트합니다.
- 승인되지 않은 도메인이 양식을 제출하지 못하도록 차단됩니다.
참조 설명서:
3단계: 게시된 양식에 액세스
표준 URL 형식:
code language-none |
---|
|
URL 구성 요소:
<branch>
: Git 분기 이름 (일반적으로main
)<repo>
: 저장소 이름<owner>
: GitHub 조직 또는 사용자 이름<form_name>
: 양식 이름 (소문자, 하이픈 구분)
환경별 URL:
code language-none |
---|
|
양식 접근성 확인:
- 양식 로드 테스트: 양식 URL을 방문하여 제대로 로드되는지 확인합니다.
- 양식 제출 테스트: 양식을 작성하고 제출하여 데이터 처리를 확인합니다.
- 반응형 디자인 확인: 다양한 디바이스 및 화면 크기에서 양식을 테스트합니다.
- 보안 유효성 검사: CORS 및 레퍼러 필터가 올바르게 작동하는지 확인합니다.
예상 결과:
- 오류 없이 양식이 로드됩니다.
- 모든 양식 필드가 올바르게 렌더링됩니다.
- 양식 제출 프로세스가 성공적으로 처리됩니다.
- 데이터가 구성된 대상(스프레드시트, 이메일 등)에 나타납니다.
- CORS 또는 보안 정책과 관련된 콘솔 오류가 없습니다.