외부화 서비스 구성
외부화 서비스를 사용하면 프로그래밍 방식으로 리소스 경로를 접두사로 사용하는 데 사용할 수 있는 도메인을 중앙에서 정의할 수 있습니다. Externalizer 서비스는 단일 도메인을 사용하는 응용 프로그램에만 사용해야 합니다.
외부화 서비스에 대한 도메인 매핑을 정의하려면
-
다음을 통해 구성 관리자로 이동합니다.
https://<host>:<port>/system/console/configMgr
-
일 CQ 링크 외부화 를 클릭하여 구성 대화 상자를 엽니다.
NOTE
구성에 대한 직접 링크는https://<host>:<port>/system/console/configMgr/com.day.cq.commons.impl.ExternalizerImpl
입니다. -
도메인 매핑을 정의합니다. 매핑은 코드에서 도메인, 공간 및 도메인을 참조하는 데 사용할 수 있는 고유한 이름으로 구성됩니다.
<unique-name> [scheme://]server[:port][/contextpath]
위치:
-
scheme
은(는) 일반적으로 http 또는 https이지만 다른 프로토콜일 수 있습니다.- Adobe은 https를 사용하여 https 링크를 적용할 것을 권장합니다.
- URL의 외부화를 요청할 때 클라이언트 코드가 스키마를 재정의하지 않는 경우에 사용됩니다.
-
server
은(는) 호스트 이름(도메인 이름 또는 ip 주소)입니다. -
port
(선택 사항)은 포트 번호입니다. -
contextpath
(선택 사항)은 AEM이 다른 컨텍스트 경로 아래에 웹 앱으로 설치된 경우에만 설정됩니다.
예를 들어
production https://my.production.instance
다음 매핑 이름은 사전 정의되어 있으며 AEM이 사용함에 따라 항상 설정해야 합니다.
local
- 로컬 인스턴스author
- 제작 시스템 DNSpublish
- 공개 웹 사이트 DNS
NOTE
사용자 지정 구성을 사용하면production
,staging
과(와) 같은 새 범주 또는my-internal-webservice
과(와) 같은 외부 비 AEM 시스템을 추가할 수 있습니다. 프로젝트의 코드베이스에 있는 서로 다른 위치에 이러한 URL을 하드 코딩하지 않도록 하는 것이 유용합니다. -
-
변경 내용을 저장하려면 저장 을 클릭하세요.
외부화 서비스 사용
이 섹션에서는 외부화 서비스를 사용하는 방법에 대한 몇 가지 예를 보여줍니다.
-
'게시' 도메인을 사용하여 경로를 외부화하려면:
String myExternalizedUrl = externalizer.publishLink(resolver, "/my/page") + ".html";
도메인 매핑 가정:
-
publish https://www.website.com
-
myExternalizedUrl
은(는) 다음 값으로 끝납니다. -
https://www.website.com/contextpath/my/page.html
-
-
'작성자' 도메인이 있는 경로를 외부화하려면:
String myExternalizedUrl = externalizer.authorLink(resolver, "/my/page") + ".html";
도메인 매핑 가정:
-
author https://author.website.com
-
myExternalizedUrl
은(는) 다음 값으로 끝납니다. -
https://author.website.com/contextpath/my/page.html
-
-
경로를 '로컬' 도메인으로 외부화하려면:
String myExternalizedUrl = externalizer.externalLink(resolver, Externalizer.LOCAL, "/my/page") + ".html";
도메인 매핑 가정:
-
local https://publish-3.internal
-
myExternalizedUrl
은(는) 다음 값으로 끝납니다. -
https://publish-3.internal/contextpath/my/page.html
-