Show Menu
화제×

여러 도메인에 Dispatcher 사용

발송자 버전은 AEM과 독립적입니다. AEM 또는 CQ 설명서에 포함된 Dispatcher 설명서에 대한 링크를 따라간 경우 이 페이지로 리디렉션되었을 수 있습니다.
다음 조건을 지원하는 동안 Dispatcher를 사용하여 여러 웹 도메인의 페이지 요청을 처리할 수 있습니다.
  • 두 도메인의 웹 컨텐츠는 단일 AEM 저장소에 저장됩니다.
  • Dispatcher 캐시의 파일은 각 도메인에 대해 별도로 무효화할 수 있습니다.
예를 들어, 회사는 두 개의 브랜드에 대한 웹 사이트를 게시합니다.브랜드 A와 브랜드 B.웹 사이트 페이지의 컨텐츠는 AEM에서 제작되고 동일한 저장소 작업 영역에 저장됩니다.
/
| - content  
   | - sitea  
       | - content nodes  
   | - siteb  
       | - content nodes

에 대한 BrandA.com 페이지는 아래에 저장됩니다 /content/sitea . URL에 대한 클라이언트 요청은 https://BrandA.com/en.html 노드에 대해 렌더링된 /content/sitea/en 페이지가 반환됩니다. 마찬가지로, 에 대한 페이지는 BrandB.com 아래에 저장됩니다 /content/siteb .
Dispatcher를 사용하여 컨텐츠를 캐시할 때는 클라이언트 HTTP 요청의 페이지 URL, 캐시에 있는 해당 파일의 경로 및 보관소의 해당 파일의 경로 간에 연결해야 합니다.

클라이언트 요청

클라이언트가 HTTP 요청을 웹 서버로 보낼 때 요청된 페이지의 URL은 Dispatcher 캐시에 있는 컨텐츠로 확인되고 결국 저장소의 컨텐츠로 확인되어야 합니다.
  1. 도메인 이름 시스템은 HTTP 요청에서 도메인 이름에 대해 등록된 웹 서버의 IP 주소를 검색합니다.
  2. HTTP 요청은 웹 서버로 전송됩니다.
  3. HTTP 요청은 Dispatcher로 전달됩니다.
  4. Dispatcher는 캐시된 파일이 유효한지 여부를 결정합니다. 유효한 경우 캐시된 파일이 클라이언트에 제공됩니다.
  5. 캐시된 파일이 유효하지 않은 경우 디스패처는 AEM 게시 인스턴스에서 새로 렌더링된 페이지를 요청합니다.

캐시 무효화

Dispatcher Flush 복제 에이전트가 Dispatcher가 캐시된 파일을 무효화하도록 요청하는 경우 저장소의 컨텐츠 경로는 캐시에 있는 컨텐츠로 확인되어야 합니다.
  1. 페이지가 AEM 작성자 인스턴스에서 활성화되고 컨텐츠가 게시 인스턴스에 복제됩니다.
  2. Dispatcher Flush Agent는 Dispatcher를 호출하여 복제된 컨텐츠에 대한 캐시를 무효화합니다.
  3. Dispatcher는 하나 이상의 .stat 파일을 업데이트하여 캐시된 파일을 무효화합니다.
여러 도메인에 Dispatcher를 사용하려면 AEM, Dispatcher 및 웹 서버를 구성해야 합니다. 이 페이지에 설명된 솔루션은 일반적이며 대부분의 환경에 적용됩니다. 일부 AEM 토폴로지의 복잡성으로 인해 특정 문제를 해결하려면 추가적인 사용자 지정 구성이 필요할 수 있습니다. 기존 IT 인프라 및 관리 정책을 충족하기 위해 예제를 조정해야 할 수 있습니다.

URL 매핑

도메인 URL과 컨텐츠 경로가 캐시된 파일로 확인되도록 하려면, 처리 중 특정 시점에 파일 경로 또는 페이지 URL을 번역해야 합니다. 경로 또는 URL 번역이 프로세스에서 서로 다른 지점에서 발생하는 다음의 일반적인 전략에 대한 설명이 제공됩니다.
일반적으로 웹 페이지에 짧은 URL을 사용하는 것이 좋습니다. 일반적으로 페이지 URL은 웹 컨텐츠를 포함하는 저장소 폴더의 구조를 미러링합니다. 그러나 URL은 다음과 같이 가장 높은 저장소 노드를 표시하지 않습니다 /content . 클라이언트가 AEM 저장소의 구조를 반드시 알지 못할 수도 있습니다.

일반 요구 사항

사용자 환경은 여러 도메인에서 Dispatcher가 작업하도록 지원하려면 다음 구성을 구현해야 합니다.
  • 각 도메인에 대한 컨텐츠는 저장소의 개별 분기에 있습니다(아래 예제 환경 참조).
  • Dispatcher Flush 복제 에이전트는 AEM 게시 인스턴스에 구성됩니다. (게시 인스턴스에서 발송자 캐시 무효화를 참조하십시오 .)
  • 도메인 이름 시스템은 도메인 이름을 웹 서버의 IP 주소로 확인합니다.
  • Dispatcher 캐시는 AEM 컨텐츠 저장소의 디렉토리 구조를 미러링합니다. 웹 서버의 문서 루트 아래에 있는 파일 경로는 저장소에 있는 파일의 경로와 동일합니다.

제공된 예제의 환경

제공된 예제 솔루션은 다음과 같은 특성을 가진 환경에 적용됩니다.
  • AEM 작성자 및 게시 인스턴스는 Linux 시스템에 배포됩니다.
  • Apache HTTPD는 Linux 시스템에 배포된 웹 서버입니다.
  • AEM 컨텐츠 저장소 및 웹 서버의 문서 루트는 다음 파일 구조를 사용합니다(Apache 웹 서버의 문서 루트는 / usr/lib/apache/httpd-2.4.3/htdocs) :
    보관소
  | - /content  
    | - sitea  
  |    | - content nodes 
    | - siteb  
       | - conent nodes

웹 서버의 문서 루트
  | - /usr  
    | - lib  
      | - apache  
        | - httpd-2.4.3  
          | - htdocs  
            | - content  
              | - sitea  
                 | - content nodes 
              | - siteb  
                 | - content nodes

AEM에서 들어오는 URL을 다시 씁니다.

리소스 해상도에 대한 슬링 매핑을 사용하면 들어오는 URL을 AEM 컨텐츠 경로와 연결할 수 있습니다. AEM 게시 인스턴스에 매핑을 만들어 Dispatcher의 요청을 렌더링하여 저장소의 올바른 컨텐츠로 확인합니다.
페이지 렌더링을 위한 디스패처 요청은 웹 서버에서 전달된 URL을 사용하여 페이지를 식별합니다. URL에 도메인 이름이 포함되어 있으면 Sling 매핑은 컨텐츠의 URL을 확인합니다. 다음 그래픽에서는 URL을 branda.com/en.html /content/sitea/en 노드에 매핑하는 방법을 보여 줍니다.
Dispatcher 캐시는 저장소 노드 구조를 미러링합니다. 따라서 페이지 활성화가 발생하면 캐시된 페이지를 무효화하는 요청에 URL이나 경로 번역이 필요하지 않습니다.

웹 서버에서 가상 호스트 정의

각 웹 도메인에 다른 문서 루트를 할당할 수 있도록 웹 서버에서 가상 호스트를 정의합니다.
  • 웹 서버는 각 웹 도메인에 대한 가상 도메인을 정의해야 합니다.
  • 각 도메인에 대해 도메인의 웹 컨텐츠가 들어 있는 저장소의 폴더와 일치하도록 문서 루트를 구성합니다.
  • 각 가상 도메인에는 발송자 설치 페이지에 설명된 대로 발송자 관련 구성도 포함되어야 합니다.
다음 예제 httpd.conf 파일은 Apache 웹 서버에 대해 두 개의 가상 도메인을 구성합니다.
  • 서버 이름(도메인 이름과 일치하는 이름)은 branda.com(16행)과 brandb.com(30행)입니다.
  • 각 가상 도메인의 문서 루트는 Dispatcher 캐시에 있는 사이트의 페이지를 포함하는 디렉토리입니다. (17 및 31행)
이 구성을 사용하여 웹 서버는 다음에 대한 요청을 받을 때 https://branda.com/en/products.html 수행합니다.
  • URL을 ServerName``branda.com.
  • URL을 Dispatcher로 전달합니다.

httpd.conf

# load the Dispatcher module
LoadModule dispatcher_module modules/mod_dispatcher.so
# configure the Dispatcher module
<IfModule disp_apache2.c>
 DispatcherConfig conf/dispatcher.any
 DispatcherLog    logs/dispatcher.log  
 DispatcherLogLevel 3
 DispatcherNoServerHeader 0 
 DispatcherDeclineRoot 0
 DispatcherUseProcessedURL 0
 DispatcherPassError 0
</IfModule>

# Define virtual host for brandA.com
<VirtualHost *:80>
  ServerName branda.com
  DocumentRoot /usr/lib/apache/httpd-2.4.3/htdocs/content/sitea
   <Directory /usr/lib/apache/httpd-2.4.3/htdocs/content/sitea>
     <IfModule disp_apache2.c>
       SetHandler dispatcher-handler
       ModMimeUsePathInfo On
     </IfModule>
     Options FollowSymLinks
     AllowOverride None
   </Directory>
</VirtualHost>

# define virtual host for brandB.com
<VirtualHost *:80>
  ServerName brandB.com
  DocumentRoot /usr/lib/apache/httpd-2.4.3/htdocs/content/siteb
   <Directory /usr/lib/apache/httpd-2.4.3/htdocs/content/siteb>
     <IfModule disp_apache2.c>
       SetHandler dispatcher-handler
       ModMimeUsePathInfo On
     </IfModule>
     Options FollowSymLinks
     AllowOverride None
   </Directory>
</VirtualHost>

# document root for web server
DocumentRoot "/usr/lib/apache/httpd-2.4.3/htdocs"

가상 호스트는 주 서버 섹션에 구성된 DispatcherConfig 속성 값을 상속합니다. 가상 호스트는 자체 DispatcherConfig 속성을 포함하여 주 서버 구성을 재정의할 수 있습니다.

여러 도메인을 처리하도록 디스패처 구성

도메인 이름과 해당 가상 호스트가 포함된 URL을 지원하려면 다음 발송자 팜을 정의합니다.
  • 각 가상 호스트에 대해 Dispatcher 팜을 구성합니다. 이러한 팜은 각 도메인에 대한 웹 서버의 요청을 처리하고, 캐시된 파일을 확인하고, 렌더에서 페이지를 요청합니다.
  • 컨텐츠가 속한 도메인에 관계없이 캐시를 콘텐츠를 무효화하는 데 사용되는 Dispatcher 팜을 구성합니다. 이 팜은 Flush Dispatcher 복제 에이전트의 파일 무효화 요청을 처리합니다.

가상 호스트에 대한 Dispatcher 팜 만들기

가상 호스트에 대한 팜에는 클라이언트 HTTP 요청의 URL이 디스패처 캐시의 올바른 파일로 확인되도록 다음 구성이 있어야 합니다.
  • /virtualhosts 속성은 도메인 이름으로 설정됩니다. 이 속성을 사용하면 디스패처가 팜을 도메인과 연결할 수 있습니다.
  • /filter 속성을 사용하면 도메인 이름 부분 다음에 잘리는 요청 URL의 경로에 액세스할 수 있습니다. 예를 들어 URL의 https://branda.com/en.html 경우 경로는 해석되므로 /en.html 필터가 이 경로에 대한 액세스를 허용해야 합니다.
  • /docroot 속성은 Dispatcher 캐시에서 도메인 사이트 컨텐츠의 루트 디렉토리 경로로 설정됩니다. 이 경로는 원래 요청에서 연결된 URL의 접두사로 사용됩니다. 예를 들어, 의 /usr/lib/apache/httpd-2.4.3/htdocs/sitea docroot를 사용하면 요청이 https://branda.com/en.html 파일로 /usr/lib/apache/httpd-2.4.3/htdocs/sitea/en.html 확인됩니다.
또한 AEM 게시 인스턴스를 가상 호스트에 대한 렌더링으로 지정해야 합니다. 필요에 따라 다른 팜 속성을 구성합니다. 다음 코드는 branda.com 도메인에 대한 축약된 팜 구성입니다.
/farm_sitea  {     
    ...
    /virtualhosts { "branda.com" }
    /renders {
      /rend01  { /hostname "127.0.0.1"  /port "4503" }
    }
    /filter {
      /0001 { /type "deny"  /glob "*" }
      /0023 { /type "allow" /glob "*/en*" }  
      ...
     }
    /cache {
      /docroot "/usr/lib/apache/httpd-2.4.3/htdocs/content/sitea"
      ...
   }
   ...
}

캐시 무효화를 위한 발송자 팜 만들기

캐시된 파일을 무효화하는 요청을 처리하려면 Dispatcher 팜이 필요합니다. 이 팜은 각 가상 호스트의 문서 루트 디렉토리에 있는 .stat 파일에 액세스할 수 있어야 합니다.
다음 속성 구성을 사용하여 Dispatcher가 캐시에 있는 파일에서 AEM 컨텐츠 저장소의 파일을 확인할 수 있습니다.
  • /docroot 속성은 웹 서버의 기본 문서 루트로 설정됩니다. 일반적으로 이 디렉토리는 폴더를 /content 만드는 디렉토리입니다. Linux에서 Apache의 예 값은 입니다 /usr/lib/apache/httpd-2.4.3/htdocs .
  • /filter 속성을 사용하면 /content 디렉토리 아래 파일에 액세스할 수 있습니다.
.stat 파일이 각 가상 호스트의 루트 디렉토리에 생성되도록 /statfileslevel 속성이 충분히 높아야 합니다. 이 속성을 사용하면 각 도메인의 캐시를 개별적으로 무효화할 수 있습니다. 예제 설정의 경우 의 /statfileslevel 값은 디렉토리와 2 *docroot*/content/sitea *docroot*/content/siteb 디렉토리에 .stat 파일을 만듭니다.
또한 게시 인스턴스를 가상 호스트에 대한 렌더링으로 지정해야 합니다. 필요에 따라 다른 팜 속성을 구성합니다. 다음 코드는 캐시를 무효화하는 데 사용되는 팜의 축약된 구성입니다.
/farm_flush {  
    ...
    /virtualhosts   { "invalidation_only" }
    /renders  {
      /rend01  { /hostname "127.0.0.1" /port "4503" }
    }
    /filter   {
      /0001 { /type "deny"  /glob "*" }
      /0023 { /type "allow" /glob "*/content*" } 
      ...
      }
    /cache  {
       /docroot "/usr/lib/apache/httpd-2.4.3/htdocs"
       /statfileslevel "2"
       ...
   }
   ...
}

웹 서버를 시작할 때 Dispatcher 로그(디버그 모드)는 모든 팜의 초기화를 나타냅니다.
Dispatcher initializing (build 4.1.2)
[Fri Nov 02 16:27:18 2012] [D] [24974(140006182991616)] farms[farm_sitea].cache.docroot = /usr/lib/apache/httpd-2.4.3/htdocs/content/sitea
[Fri Nov 02 16:27:18 2012] [D] [24974(140006182991616)] farms[farm_siteb].cache.docroot = /usr/lib/apache/httpd-2.4.3/htdocs/content/siteb
[Fri Nov 02 16:27:18 2012] [D] [24974(140006182991616)] farms[farm_flush].cache.docroot = /usr/lib/apache/httpd-2.4.3/htdocs
[Fri Nov 02 16:27:18 2012] [I] [24974(140006182991616)] Dispatcher initialized (build 4.1.2)

리소스 해상도에 대한 Sling 매핑 구성

도메인 기반 URL이 AEM 게시 인스턴스의 내용으로 확인되도록 리소스 해상도에 Sling 매핑을 사용합니다. 리소스 매핑은 Dispatcher에서 들어오는 URL(원래 클라이언트 HTTP 요청)을 컨텐츠 노드로 변환합니다.
Sling 리소스 매핑에 대한 자세한 내용은 Sling 설명서의 리소스 해상도에 대한 매핑을 참조하십시오.
일반적으로 매핑은 추가 매핑이 필요할 수 있지만 다음 리소스에 대해 필요합니다.
  • 컨텐츠 페이지의 루트 노드(아래 /content )
  • 페이지에서 사용하는 디자인 노드(아래 /etc/designs )
  • 폴더 /libs
컨텐츠 페이지에 대한 매핑을 만든 후 필요한 추가 매핑을 검색하려면 웹 브라우저를 사용하여 웹 서버에서 페이지를 엽니다. 게시 인스턴스의 error.log 파일에서 찾을 수 없는 리소스에 대한 메시지를 찾습니다. 다음 예제 메시지는 에 대한 매핑이 /etc/clientlibs 필수임을 나타냅니다.
01.11.2012 15:59:24.601 *INFO* [10.36.34.243 [1351799964599] GET /etc/clientlibs/foundation/jquery.js HTTP/1.1] org.apache.sling.engine.impl.SlingRequestProcessorImpl service: Resource /content/sitea/etc/clientlibs/foundation/jquery.js not found

기본 Apache Sling 리writer의 linkchecker는 끊어진 링크를 방지하기 위해 페이지의 하이퍼링크를 자동으로 수정합니다. 그러나 링크 재작성은 링크 대상이 HTML 또는 HTM 파일인 경우에만 수행됩니다. 다른 파일 유형에 대한 링크를 업데이트하려면 변환기 구성 요소를 만들어 HTML 리작성기 파이프라인에 추가합니다.

리소스 매핑 노드의 예

다음 표에는 branda.com 도메인에 대한 리소스 매핑을 구현하는 노드가 나열되어 있습니다. 도메인과 같은 유사한 노드가 brandb.com 도메인에 생성됩니다 /etc/map/http/brandb.com . 모든 경우 페이지 HTML의 참조가 Sling 컨텍스트에서 올바로 확인되지 않을 때 매핑이 필요합니다.
노드 경로
유형
속성
/etc/map/http/branda.com
sling:Mapping
이름:sling:internalRedirect 유형:문자열 값:/content/sitea
/etc/map/http/branda.com/libs
sling:Mapping
이름:sling:internal리디렉션
유형:문자열
값:/libs
/etc/map/http/branda.com/etc
sling:Mapping
/etc/map/http/branda.com/etc/designs
sling:Mapping
이름:sling:internalRedirect
VType:문자열
값:/etc/designs
/etc/map/http/branda.com/etc/clientlibs
sling:Mapping
이름:sling:internalRedirect
VType:문자열
값:/etc/clientlibs

Dispatcher Flush 복제 에이전트 구성

AEM 게시 인스턴스의 Dispatcher Flush 복제 에이전트가 올바른 Dispatcher 팜에 무효화 요청을 보내야 합니다. 팜을 타깃팅하려면 # 탭에서 Dispatcher Flush 복제 에이전트의 URI 속성을 사용합니다. 캐시를 무효화하도록 구성된 Dispatcher 팜의 /virtualhost 속성 값을 포함합니다.
https://*webserver_name*:*port*/*virtual_host*/dispatcher/invalidate.cache
예를 들어 이전 예제의 farm_flush 팜을 사용하려면 URI가 https://localhost:80/invalidation_only/dispatcher/invalidate.cache 입니다.

웹 서버가 들어오는 URL을 다시 씁니다.

웹 서버의 내부 URL 재작성 기능을 사용하여 도메인 기반 URL을 Dispatcher 캐시의 파일 경로로 변환합니다. 예를 들어 페이지에 대한 클라이언트 요청은 웹 서버의 문서 루트에 있는 https://brandA.com/en.html content/sitea/en.html 파일로 변환됩니다.
Dispatcher 캐시는 저장소 노드 구조를 미러링합니다. 따라서 페이지 활성화가 발생하면 캐시된 페이지를 무효화하는 요청에 URL이나 경로 번역이 필요하지 않습니다.

웹 서버에서 가상 호스트 정의 및 다시 쓰기 규칙

웹 서버에서 다음 측면을 구성합니다.
  • 각 웹 도메인에 대한 가상 호스트를 정의합니다.
  • 각 도메인에 대해 도메인의 웹 컨텐츠가 들어 있는 저장소의 폴더와 일치하도록 문서 루트를 구성합니다.
  • 각 가상 도메인에 대해 들어오는 URL을 캐시된 파일의 경로로 변환하는 URL 이름 바꾸기 규칙을 만듭니다.
  • 각 가상 도메인에는 발송자 설치 페이지에 설명된 대로 발송자 관련 구성도 포함되어야 합니다.
  • Dispatcher 모듈은 웹 서버가 다시 작성한 URL을 사용하도록 구성해야 합니다. (Dispatcher 설치에서 DispatcherUseProcessedURL 속성을 참조하십시오 .)
다음 예제는 httpd.conf 파일에서 Apache 웹 서버에 대한 두 개의 가상 호스트를 구성합니다.
  • 서버 이름(도메인 이름과 일치함)은 brandA.com (16행) 및 brandB.com (32행)입니다.
  • 각 가상 도메인의 문서 루트는 Dispatcher 캐시에 있는 사이트의 페이지를 포함하는 디렉토리입니다. (20행 및 33행)
  • 각 가상 도메인에 대한 URL 재작성 규칙은 요청된 페이지의 경로에 캐시에 있는 페이지의 경로를 접두어로 지정하는 정규 표현식입니다. (19 및 35행)
  • DispatherUseProcessedURL 속성은 로 설정됩니다 1 . (10행)
예를 들어 웹 서버는 URL로 요청을 받으면 다음 작업을 https://brandA.com/en/products.html 수행합니다.
  • URL을 ServerName``brandA.com.
  • URL을 다시 씁니다. /content/sitea/en/products.html.
  • URL을 Dispatcher로 전달합니다.

httpd.conf

# load the Dispatcher module
LoadModule dispatcher_module modules/mod_dispatcher.so
# configure the Dispatcher module
<IfModule disp_apache2.c>
 DispatcherConfig conf/dispatcher.any
 DispatcherLog    logs/dispatcher.log  
 DispatcherLogLevel 3
 DispatcherNoServerHeader 0 
 DispatcherDeclineRoot 0
 DispatcherUseProcessedURL 1
 DispatcherPassError 0
</IfModule>

# Define virtual host for brandA.com
<VirtualHost *:80>
  ServerName branda.com
  DocumentRoot /usr/lib/apache/httpd-2.4.3/htdocs/content/sitea
  RewriteEngine  on
  RewriteRule    ^/(.*)\.html$  /content/sitea/$1.html [PT]
   <Directory /usr/lib/apache/httpd-2.4.3/htdocs/content/sitea>
     <IfModule disp_apache2.c>
       SetHandler dispatcher-handler
       ModMimeUsePathInfo On
     </IfModule>
     Options FollowSymLinks
     AllowOverride None
   </Directory>
</VirtualHost>

# define virtual host for brandB.com
<VirtualHost *:80>
  ServerName brandB.com
  DocumentRoot /usr/lib/apache/httpd-2.4.3/htdocs/content/siteb
  RewriteEngine  on
  RewriteRule    ^/(.*)\.html$  /content/siteb/$1.html [PT]
   <Directory /usr/lib/apache/httpd-2.4.3/htdocs/content/siteb>
     <IfModule disp_apache2.c>
       SetHandler dispatcher-handler
       ModMimeUsePathInfo On
     </IfModule>
     Options FollowSymLinks
     AllowOverride None
   </Directory>
</VirtualHost>

# document root for web server
DocumentRoot "/usr/lib/apache/httpd-2.4.3/htdocs"

디스패처 팜 구성

웹 서버가 URL을 다시 작성할 때 Dispatcher에는 Dispatcher 구성에 따라 정의된 단일 팜이 필요합니다 . 웹 서버 가상 호스트 및 URL 이름 바꾸기 규칙을 지원하려면 다음 구성이 필요합니다.
  • /virtualhosts 속성에는 모든 VirtualHost 정의에 대한 ServerName 값이 포함되어야 합니다.
  • 각 도메인에 대한 컨텐츠 파일이 들어 있는 디렉토리에 .stat 파일을 만들려면 /statfileslevel 속성이 충분히 높아야 합니다.
다음 예제 구성 파일은 Dispatcher와 함께 설치되는 예제 dispatcher.any 파일을 기반으로 합니다. 이전 httpd.conf 파일의 웹 서버 구성을 지원하려면 다음 변경 사항이 필요합니다.
  • /virtualhosts 속성을 통해 Dispatcher가 brandA.com brandB.com 도메인에 대한 요청을 처리합니다. (line 12)
  • /statfileslevel 속성은 2로 설정되므로 도메인의 웹 컨텐츠(41줄)가 포함된 각 디렉토리에 통계 파일이 만들어집니다. /statfileslevel "2"
캐시의 문서 루트는 웹 서버의 문서 루트(40줄)와 같습니다. /usr/lib/apache/httpd-2.4.3/htdocs

dispatcher.any

/name "testDispatcher"
/farms
  {
  /dispfarm0
    {  
    /clientheaders
      {
      "*"
      }      
    /virtualhosts
      {
      "brandA.com" "brandB.com"
      }
    /renders
      {
      /rend01    {  /hostname "127.0.0.1"   /port "4503"  }
      }
    /filter
      {
      /0001 { /type "deny"  /glob "*" }
      /0023 { /type "allow" /glob "*/content*" }  # disable this rule to allow mapped content only
      /0041 { /type "allow" /glob "* *.css *"   }  # enable css
      /0042 { /type "allow" /glob "* *.gif *"   }  # enable gifs
      /0043 { /type "allow" /glob "* *.ico *"   }  # enable icos
      /0044 { /type "allow" /glob "* *.js *"    }  # enable javascript
      /0045 { /type "allow" /glob "* *.png *"   }  # enable png
      /0046 { /type "allow" /glob "* *.swf *"   }  # enable flash
      /0061 { /type "allow" /glob "POST /content/[.]*.form.html" }  # allow POSTs to form selectors under content
      /0062 { /type "allow" /glob "* /libs/cq/personalization/*"  }  # enable personalization
      /0081 { /type "deny"  /glob "GET *.infinity.json*" }
      /0082 { /type "deny"  /glob "GET *.tidy.json*"     }
      /0083 { /type "deny"  /glob "GET *.sysview.xml*"   }
      /0084 { /type "deny"  /glob "GET *.docview.json*"  }
      /0085 { /type "deny"  /glob "GET *.docview.xml*"  }      
      /0086 { /type "deny"  /glob "GET *.*[0-9].json*" }
      /0090 { /type "deny"  /glob "* *.query.json*" }
      }
    /cache
      {
      /docroot "/usr/lib/apache/httpd-2.4.3/htdocs"
      /statfileslevel "2"
      /allowAuthorized "0"
      /rules
        {
        /0000  { /glob "*"     /type "allow"  }
        }
      /invalidate
        {
        /0000  {   /glob "*" /type "deny"  }
        /0001 {  /glob "*.html" /type "allow"  }
        }
      /allowedClients
        {
        }     
      }
    /statistics
      {
      /categories
        {
        /html  { /glob "*.html" }
        /others  {  /glob "*"  }
        }
      }
    }
  }

단일 디스패처 팜이 정의되므로 AEM 게시 인스턴스의 Dispatcher Flush 복제 에이전트에는 특수 구성이 필요하지 않습니다.