复制

复制代理是Adobe Experience Manager(AEM)的中心,它用于:

  • 将内容从作 者发布(激活)到发布环境。
  • 显式刷新Dispatcher缓存中的内容。
  • 将用户输入(例如,表单输入)从发布环境返回到作者环境(在作者环境的控制下)。

请求将排队发送到相应的代理以进行处理。

注意

用户用户档案(用户、用户组和用户)不会在创作和发布实例之间复制。

对于多个发布实例,启用用户同步时,用户数据是Sling分布的。

从作者复制到发布

复制到发布实例或调度程序的步骤有:

  • 作者要求发布(激活)某些内容;可以通过手动请求或已预配置的自动触发器启动。

  • 请求将传递给相应的默认复制代理;环境可以具有多个默认代理,这些代理将始终为此类操作选择。

  • 复制代理“打包”内容并将其置于复制队列中。

  • 在“网站”选项卡中,为各个页面设置彩色状态指示符

  • 内容从队列中提取,并使用配置的协议传输到发布环境;通常为HTTP。

  • 发布环境中的servlet接收请求并发布接收的内容;默认servlet为https://localhost:4503/bin/receive

  • 可以配置多个创作和发布环境。

chlimage_1-21

从发布复制到作者

某些功能允许用户在发布实例上输入数据。

在某些情况下,需要一种称为反向复制的复制类型,才能将此环境从其重新分发到其他发布环境。 出于安全考虑,必须严格控制从发布到作者环境的任何通信。

反向复制使用发布环境中引用作者环境的代理。 此代理将数据放入外箱。 此发件箱与创作环境中的复制监听器匹配。 监听器将轮询发件箱以收集输入的任何数据,然后根据需要分发它。 这可确保作者环境控制所有流量。

在其他情况下,如社区功能(例如论坛、博客、评论和评论),在发布环境中输入的用户生成内容(UGC)的数量难以通过复制在AEM实例之间高效同步。

AEM Communities从不对UGC使用复制。 相反,社区的部署需要UGC的公用存储(请参阅社区内容存储)。

复制——开箱即用

AEM标准安装中包含的we-retail网站可用于说明复制。

要按照此示例操作并使用默认复制代理,您需要将AEM与以下项安装:

  • 端口4502上的作者环境
  • 端口4503上的发布环境
注意

默认为已启用 :

  • 作者代理:默认代理(发布)

默认情况下(自AEM 6.1起)有效禁用:

  • 作者代理:反向复制代理(publish_reverse)
  • 发布时的代理:反向复制(发件箱)

要检查代理或队列的状态,请使用​工具​控制台。
请参阅监视复制代理

复制(创作到发布)

  1. 导航到创作环境上的支持页面。
    https://localhost:4502/content/we-retail/us/en/experience.html <pi>
  2. 编辑页面以添加新文本。
  3. 激活 页面以发布更改。
  4. 打开发布环境上的支持页:
    https://localhost:4503/content/we-retail/us/en/experience.html
  5. 您现在可以看到您在作者中输入的更改。

此复制操作由创作环境进行,具体操作如下:

  • 默认代理(发布)
    此代理将内容复制到默认发布实例。有关此(配置和日志)的详细信息,可从创作环境的“工具”控制台访问;或:

    https://localhost:4502/etc/replication/agents.author/publish.html

复制代理——开箱即用

标准AEM安装中提供以下代理:

  • 默认
    代理用于从作者复制到发布。

  • 调度程序刷新
    这用于管理调度程序缓存。 有关详细信息,请参阅“创作”环境](https://helpx.adobe.com/cn/experience-manager/dispatcher/using/page-invalidate.html#invalidating-dispatcher-cache-from-the-authoring-environment)中的[“使调度程序缓存无效”和“使发布实例中的调度程序缓存无效”。

  • 反向复
    制用于从发布复制到作者。反向复制不用于社区功能,如论坛、博客和评论。 由于未启用输出框,因此会有效禁用它。 使用反向复制需要自定义配置。

  • 静态代理
    这是“将节点的静态表示存储到文件系统中的代理”。
    例如,使用默认设置时,内容页面和dam资产会以/tmp的形式存储,或者以HTML或相应的资产格式存储。 有关配置,请参阅SettingsRules选项卡。
    请求此属性,这样当直接从应用程序服务器请求页面时,内容就可以看到。 这是一个专用代理,并且(可能)大多数情况下都不需要。

复制代理——配置参数

从“工具”控制台配置复制代理时,对话框中有四个选项卡可用:

设置

  • 名称

    复制代理的唯一名称。

  • 描述

    此复制代理将服务的用途的说明。

  • 启用

    指示复制代理当前是否处于启用状态。

    当代理​启用​时,队列将显示为:

    • 理项目时处于活动状态。
    • 队列为空时取消。
    • 当项 目在队列中但无法处理时阻止;例如,当接收队列被禁用时。
  • 序列化类型

    序列化类型:

    • 默认:设置是否自动选择代理。
    • 调度程序刷新:如果代理用于刷新调度程序缓存,请选择此选项。
  • 重试延迟

    如果遇到问题,则两个重试之间的延迟(等待时间,以毫秒为单位)。

    默认: 60000

  • 代理用户 ID

    根据环境,代理将使用此用户帐户执行以下操作:

    • 从作者环境收集和打包内容
    • 在发布环境中创建和写入内容

    将此字段留空可使用系统用户帐户(sling中定义的帐户为管理员用户;默认情况下,此值为admin)。

    注意

    对于创作环境上的代理,此帐户​必须​具有对要复制的所有路径的读取访问权限。

    注意

    对于发布环境上的代理,此帐户​必须​具有复制内容所需的创建/写入访问权限。

    注意

    这可用作选择特定内容进行复制的机制。

  • 日志级别

    指定用于日志消息的详细程度。

    • Error:将只记录错误
    • Info:将记录错误、警告和其他信息性消息
    • Debug:消息中将使用高级详细信息,主要用于调试目的

    默认: Info

  • 使用反转复制

    指示此代理是否用于反向复制;从发布返回用户输入到作者环境。

  • 别名更新

    选择此选项将启用对Dispatcher的别名或虚路径失效请求。 另请参阅配置调度程序刷新代理

传输

  • URI

    它指定目标位置的接收servlet。 特别是,您可以在此处指定目标实例的主机名(或别名)和上下文路径。

    例如:

    • 默认代理可以复制到https://localhost:4503/bin/receive
    • 调度程序刷新代理可以复制到https://localhost:8000/dispatcher/invalidate.cache

    此处指定的协议(HTTP或HTTPS)将决定传输方法。

    对于调度程序刷新代理,仅当使用基于路径的虚拟主机条目来区分场时,才使用URI属性,您使用此字段来目标场以使其失效。 例如,场#1的虚拟主机为www.mysite.com/path1/*,场#2的虚拟主机为www.mysite.com/path2/*。 可以使用/path1/invalidate.cache的URL目标第一个场,使用/path2/invalidate.cache目标第二个场。

  • 用户

    要用于访问目标的帐户的用户名。

  • 密码

    用于访问目标的帐户的口令。

  • NTLM 域

    NTML验证的域。

  • NTLM 主机

    用于NTML身份验证的主机。

  • 启用宽松 SSL

    如果要接受自认证SSL证书,请启用。

  • 允许过期的证书

    如果希望接受过期的SSL证书,请启用。

代理

仅当需要代理时,才需要以下设置:

  • 代理主机

    用于传输的代理的主机名。

  • 代理端口

    代理的端口。

  • 代理用户

    要使用的帐户的用户名。

  • 代理密码

    要使用的帐户的口令。

  • 代理 NTLM 域

    代理NTLM域。

  • 代理·NTLM 主机

    代理NTLM域。

扩展

  • 接口

    您可以在此定义要绑定到的套接字接口。

    这将设置创建连接时使用的本地地址。 如果未设置,将使用默认地址。 这对于指定要在多宿主或群集系统上使用的接口非常有用。

  • HTTP 方法

    要使用的HTTP方法。

    对于调度程序刷新代理,这几乎始终是GET,不应更改(POST是另一个可能的值)。

  • HTTP 头

    这些组件用于调度程序刷新代理,并指定必须刷新的元素。

    对于调度程序刷新代理,三个标准条目不应更改:

    • CQ-Action:{action}
    • CQ-Handle:{path}
    • CQ-Path:{path}

    这些选项会根据需要用于指示刷新手柄或路径时要使用的操作。 子参数是动态的:

    • {action} 表示复制操作

    • {path} 指示路径

    它们被与请求相关的路径/操作所取代,因此无需“硬编码”:

    注意

    如果您在建议的默认上下文以外的上下文中安装了AEM,则需要在HTTP头中注册该上下文。 例如:
    CQ-Handle:/<*yourContext*>{path}

  • 关闭连接

    启用后,可在每次请求后关闭连接。

  • 连接超时

    尝试建立连接时要应用的超时(以毫秒为单位)。

  • 套接字超时

    在建立连接后等待通信时应用的超时(以毫秒为单位)。

  • 协议版本

    协议版本;例如,1.0(对于HTTP/1.0)。

触发器

这些设置用于定义自动复制的触发器:

  • 忽略默认值

    如果选中,则从默认复制中排除代理;这意味着,如果内容作者发出复制操作,则不会使用它。

  • 修改

    此时,修改页面时将自动触发此代理的复制。 这主要用于调度程序刷新代理,也用于反向复制。

  • 在分发时

    如果选中此项,则代理将在修改时自动复制标记为要分发的任何内容。

  • 到达开/关时间

    这将在为页面定义的正常或非正常时间发生时触发自动复制(根据需要激活或取消激活页面)。 它主要用于调度程序刷新代理。

  • 接收时

    如果选中此项,则每当收到复制事件时,代理都将链式复制。

  • 无状态更新

    选中后,代理将不强制更新复制状态。

  • 无版本控制

    选中后,代理将不强制对已激活的页面进行版本控制。

配置复制代理

有关使用MSSL将复制代理连接到发布实例的信息,请参阅使用相互SSL复制

从创作环境配置复制代理

在创作环境的“工具”选项卡中,您可以配置位于创作环境(作者​上的代理)或发布环境(发布上的代理)中的复制代理。​以下过程说明了作者环境的代理配置,但可用于两者。

注意

当调度程序处理创作或发布实例的HTTP请求时,来自复制代理的HTTP请求必须包含PATH头。 除了以下过程之外,还必须将PATH头添加到客户端头的调度程序列表。 (请参阅/clientheaders(客户端头)

  1. 访问AEM中的​工具​选项卡。

  2. 单击​复制(左窗格打开文件夹)。

  3. 多次-单击作者​上的​代理(左窗格或右窗格)。

  4. 单击相应的代理名称(即链接)以显示有关该代理的详细信息。

  5. 单击​编辑​打开配置对话框:

    chlimage_1-22

  6. 提供的值应足以用于默认安装。 如果进行了更改,请单击​OK​以保存它们(有关各个参数的详细信息,请参见复制代理——配置参数)。

注意

AEM的标准安装指定admin作为默认复制代理内传输凭据的用户。

此帐户应更改为具有复制所需路径的权限的站点特定复制用户帐户。

配置反向复制

反向复制用于将发布实例上生成的用户内容返回到作者实例。 这通常用于调查和注册表单等功能。

出于安全原因,大多数网络拓扑不允许从​“非军事区”(一个子网络,它将外部服务暴露给不受信任的网络,如Internet)连接

由于发布环境通常位于DMZ中,要将内容恢复到作者环境,必须从作者实例启动连接。 这是通过以下方式完成的:

  • 在放置内容的发布环境中,输入​outbox
  • 创作环境中的代理(发布),它定期轮询输出框以查找新内容。
注意

对于AEM Communities,复制不用于发布实例上用户生成的内容。 请参阅社区内容存储

为此,您需要:

创作环境中的反向复制代 理充当活动组件,从发布环境的发件箱中收集信息:

如果要使用反向复制,请确保激活此代理。

chlimage_1-23

发布环境(输出框)中的反向复制代理 。这是被动元素,因为它充当“输出框”。用户输入将放在此处,作者环境中的代理从中收集用户输入。

chlimage_1-1

为多个发布实例配置复制

注意

仅复制内容——不复制用户数据(用户、用户组和用户用户档案)。

要在多个发布实例间同步用户数据,请启用用户同步

安装后,已配置默认代理,以将内容复制到运行于localhost端口4503的发布实例。

要为其他发布实例配置内容复制,您需要创建并配置新的复制代理:

  1. 打开AEM中的​工具​选项卡。

  2. 在左面板中选择​复制,然后选择​作者​上的代理。

  3. 选择​新建……

  4. 设置​标题​和​名称,然后选择​复制代理

  5. 单击​创建​以创建新代理。

  6. 多次-单击新代理项以打开配置面板。

  7. 单击​编辑 —— 将打开​代理设置​对话框- 序列化类型​已定义为默认值,但必须保持该状态。

    • 在​设置​选项卡中:

      • 激活​已启用

      • 输入​说明.

      • 将​重试延迟​设置为60000

      • 将​序列化类型​保留为Default

    • 在​传输​选项卡中:

      • 输入新发布实例所需的URI;例如,

        https://localhost:4504/bin/receive

      • 输入用于复制的站点特定用户帐户。

      • 您可以根据需要配置其他参数。

  8. 单击​确定​以保存设置。

然后,您可以在创作环境中通过更新和发布页面来测试操作。

更新将显示在已配置为上述配置的所有发布实例上。

如果遇到任何问题,可以检查创作实例上的日志。 根据所需的详细程度,您还可以使用上述的​代理设置​对话框将​日志级别​设置为Debug

注意

这可以与使用代理用户Id来选择不同的内容以复制到单个发布环境。 对于每个发布环境:

  1. 配置复制代理以复制到该发布环境。
  2. 配置用户帐户;具有读取将复制到该特定发布环境的内容所需的访问权限。
  3. 将用户帐户分配为复制代理的​代理用户ID

配置调度程序刷新代理

安装中包含默认代理。 但是,如果要定义新代理,则仍需要某些配置,这同样适用:

  1. 打开AEM中的​工具​选项卡。

  2. 单击​部署

  3. 选择​复制,然后选择发布​上的​代理。

  4. 多次-单击​调度程序刷新​项以打开概述。

  5. 单击​编辑 —— 将打开​代理设置​对话框:

    • 在​设置​选项卡中:

      • 激活​已启用

      • 输入​说明.

      • 将​序列化类型​保留为Dispatcher Flush,或在创建新代理时将其设置为。

      • (可选)选择​别名更新​以启用对Dispatcher的别名或虚路径失效请求。

    • 在​传输​选项卡中:

      • 输入新发布实例所需的URI;例如,

        https://localhost:80/dispatcher/invalidate.cache

      • 输入用于复制的站点特定用户帐户。

      • 您可以根据需要配置其他参数。

    对于调度程序刷新代理,仅当使用基于路径的虚拟主机条目来区分场时,才使用URI属性,您使用此字段来目标场以使其失效。 例如,场#1的虚拟主机为www.mysite.com/path1/*,场#2的虚拟主机为www.mysite.com/path2/*。 可以使用/path1/invalidate.cache的URL目标第一个场,使用/path2/invalidate.cache目标第二个场。

    注意

    如果在建议的默认上下文以外的上下文中安装了AEM,则需要在​扩展​选项卡中配置HTTP头

  6. 单击​确定​以保存更改。

  7. 返回至​工具​选项卡,从此处可以​激活​调度程序刷新​代理(​发布时的代理)。

调度程序Flush​复制代理在创作时不活动。 可以使用等效的URI在发布环境中访问同一页面;例如,https://localhost:4503/etc/replication/agents.publish/flush.html

控制对复制代理的访问

对用于配置复制代理的页面的访问权限可以通过在etc/replication节点上使用用户和/或组页面权限来控制。

注意

设置此类权限不会影响复制内容的用户(例如,从“网站”控制台或Sidekick选项)。 复制框架在复制页面时不使用当前用户的“用户会话”访问复制代理。

从CRXDE Lite配置复制代理

注意

复制代理仅在/etc/replication存储库位置受支持。 这是正确处理相关ACL的必需。 在树的其他位置创建复制代理可能会导致未经授权的访问。

可以使用CRXDE Lite配置复制代理的各种参数。

如果导航到/etc/replication,您可以看到以下三个节点:

  • agents.author
  • agents.publish
  • treeactivation

两个agents保存有关相应环境的配置信息,并且仅当该环境运行时才处于活动状态。 例如,agents.publish将仅用于发布环境。 以下屏幕截图显示创作环境中的发布代理,它随AEM WCM提供:

chlimage_1-24

监视复制代理

要监视复制代理,请执行以下操作:

  1. 访问AEM中的​工具​选项卡。

  2. 单击​复制

  3. 多次-单击相应环境(左窗格或右窗格)的座席链接;例如,作者​上的代理。

    结果窗口显示创作环境的所有复制代理的概述,包括其目标和状态。

  4. 单击相应的代理名称(即链接)以显示有关该代理的详细信息:

    chlimage_1-2

    在此对话框中,您可以:

    • 查看代理是否已启用。

    • 查看任何复制的目标。

    • 查看复制队列当前是否处于活动状态(已启用)。

    • 查看队列中是否有项目。

    • 新或清 ​除以更新队列条目的显示;这有助于您查看进入和离开队列的项目。

    • 视图 登录以访问复制代理执行的任何操作的日志。

    • 测试 与目标实例的连接。

    • 强制 重试任何队列项(如果需要)。

    注意

    请勿将“测试连接”链接用于发布实例上的反向复制输出框。

    如果对发件箱队列执行复制测试,则所有早于测试复制的项目都将通过每次反向复制进行重新处理。

    如果队列中已存在此类项目,可以使用以下XPath JCR查询找到它们,并应将其删除。

    /jcr:root/var/replication/outbox//*[@cq:repActionType='TEST']

批处理复制

批处理复制不会复制单个页面或资产,而是等待触发这两个页面或资产的第一个阈值(基于时间或大小)。

然后,它将所有复制项打包到一个包中,然后将该包作为单个文件复制到发布者。

出版商将解包所有物品,保存它们并向作者报告。

配置批处理复制

  1. 转到 http://serveraddress:serverport/siteadmin
  2. 按屏幕上方的​工具​图标
  3. 从左侧导航边栏,转到​复制——作者上的代理,多次单击​默认代理
    • 您还可以通过直接转到http://serveraddress:serverport/etc/replication/agents.author/publish.html来访问默认的发布复制代理
  4. 按复制队列上方的​编辑​按钮。
  5. 在以下窗口中,转至​​选项卡:
    批量复制
  6. 配置代理。

参数

  • [!UICONTROL Enable Batch Mode] -启用或禁用批处理复制模式
  • [!UICONTROL Max Wait Time] -在启动批处理请求之前的最长等待时间(以秒为单位)。默认为2秒。
  • [!UICONTROL Trigger Size] -开始在此大小限制下进行批量复制

其他资源

有关疑难解答的详细信息,请阅读复制问题疑难解答页。

在此页面上

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free