当 AEM 作为云服务首次发布时,CDN 行为只能通过 Apache 的缓存控制配置进行控制(范围 非常 有限)。如果您需要进一步定制,唯一的选择就是自带 CDN:也就是说,在 Adobe 管理的 Fastly CDN 的基础上,再添加 Cloudflare、Akamai 或自行配置的 Fastly 等 CDN。

AEM 作为云服务的 Adobe Managed CDN 简介

不过,去年 Adobe 为 AEM 云服务 推出了新的托管 CDN 功能 ,大大简化了使用 边缘交付服务(又名 Helix) 或基于 JCR 的 AEM 的混合设置。我们在这里提供了一些架构图和其他配置示例。

配置的方法是在 AEM 项目中创建/config/cdn.yaml 文件,并通过专用的配置管道进行部署,以管理特定的环境设置(如 DEV、STG、PROD)。这些轻量级管道通常只需 1-2 分钟即可运行,可在部署到生产环境之前对新的 CDN 逻辑进行高效迭代和安全测试。

但是,部署到 AEM 作为云服务开发环境需要运行云管理器管道,而运行云管理器管道需要 git 提交。你不会希望在调试语法和测试配置逻辑时,都要反复将 git 推送到开发分支,那样只会一团糟(更别提耗费大量时间了)。幸运的是,有一种方法可以在本地进行测试,只需很少的设置,这样你就可以更有趣地测试同样的东西四十次,希望能得到正确的语法。

其中的秘诀就是 Adobe 的快速开发环境(RDE)。

在 AEM RDE 上设置& 测试 CDN 配置

RDE 与 AEM 即云服务环境中的开发环境、阶段环境和生产环境之间的主要区别在于,RDE 是为了从开发人员的个人工作站直接使用aio 命令行界面进行部署,而不是通过 git 控制的云管理器管道进行部署。这些环境用于快速迭代和调试,但属于共享环境,因此在进入开发-> 阶段-> 生产发布周期之前,可以对更改进行验证并通过适当的审查流程。

使用 CDN 设置 RDE 环境

要在 RDE 上测试 CDN 配置,首先需要确保在相关 RDE env 前配置了主机名和 SSL 证书,以便有一个 CDN 环境可以配置。还要注意的是,大多数 AEMaaCS 环境只配置了一个 RDE 环境,但多个环境 配置需要额外费用,这可能是贵公司 AEM 云服务合同的一部分。

要为边缘交付服务域设置此功能,请执行以下操作:

(1) 在云管理器中创建域:在 Adobe 云管理器用户界面中,转到左侧导航栏上的 "域设置",然后单击 "添加域"。

您需要使用 Adobe 管理的证书进行设置,然后生成一个验证码,您需要将该验证码作为 CNAME 放入 DNS 提供商,以便验证证书。在完成该验证步骤之前,您的证书将显示为"NOT VERIFIED"

一旦验证通过,您就可以进入下一步。

(2)添加 SSL 证书: 验证域名所有权后,就可以为该域名添加 SSL 证书。您既可以使用 Adobe 管理的证书,也可以使用自己的证书(如果您愿意的话)。请注意,云管理器只会填充您已验证的域。

(3)在 Cloud Manager 中将域映射到 RDE 环境:然后,您需要在 Cloud Manager 中将域映射到 RDE 环境。在左侧导航栏中单击 DOMAIN MAPPINGS,然后选择"Adobe Managed CDN" 作为 CDN 类型,并选择 RDE 环境的名称作为源,publish 作为层,然后选择为该 RDE 环境创建的域和 SSL 证书。

(4)在 DNS 中将域名映射到 Adobe:在 DNS 中创建一个 CNAME 记录,将 RDE 域映射到cdn.adobeaemcloud.com 。这将使 Adobe 能够相应地获取& 路由该域。

(5)确保您的 config.yml 管理 RDE 环境: 最后,如果您按照本教程设置了 Adobe Managed CDN,在配置cdn.yml 时,请确保 RDE 被列为配置相关的环境之一:

kind: "CDN"
version: "1"
metadata:
  envTypes: ["rde", "dev", "stage", "prod"]
data:

使用 AIO CLI 将配置推送到 RDE 的 CDN

设置好 RDE 并准备接受 CDN 配置后,就可以设置工作站,以便将 CDN 配置推送到 RDE。

1.在机器上获取 NPM、Node 和 NVM。您需要使用 nodejs 20

2. 用以下命令安装 Adobe I/O 运行时 npm install -g @adobe/aio-cli

3. 安装并更新 AIO 插件:
aio plugins:install @adobe/aio-cli-plugin-cloudmanager

aio plugins:install @adobe/aio-cli-plugin-aem-rde aio plugins:update

4.使用 aio 登录进行身份验证,这将弹出一个浏览器窗口--确保使用您的 AEMaaCS 账户的 IMS 配置文件,否则可能需要aio logout 并重新选择。

  1. 将您的组织设置为 aio cloudmanager:org:select

5.用以下命令将程序 ID 设置为贵组织的 ID aio config:set cloudmanager_programid {YOUR PROGRAM ID GOES HERE}

  1. 如果您想查看可以访问的环境,请使用aio cloudmanager:list-environments.这将显示 RDE 所处的环境
  2. 用它来设置 CloudManager EnvironmentID。可以通过使用 aio config:set cloudmanager_environmentID {YOUR ENVIRONMENT ID GOES HERE}

6.通过aio aem:rde:setup 启动 RDE 设置 - 它会询问您是否要本地存储,请说 "是"。

7.试试aio aem:rde:status ,看看能否让您使用 RDE。它的反应应该是这样的

PS C:\Users\Noah\Desktop\my-aemaacs> aio aem:rde:status
Running aem:rde:status on cm-p104400-e1291792
Info for cm-p104400-e1291743
Environment: Ready

设置完成后,就可以开始测试配置了。如果您还没有这样做,现在是创建一个新分支的好时机,该分支将反映您所做的更改。然后,您需要确保您已进入要测试的配置的正确目录。完成后,您可以使用aio aem:rde:install -t env-config ./config 将 CDN 配置安装到目录中。这将列出可能存在的语法错误。

PS C:\Users\Noah\Desktop\my-aemaacs> aio aem:rde:install -t env-config ./config
Running aem:rde:status on cm-p104400-e1291743
Zipped file /tmp/aio-rde-RF1WAb/config.zip of 2584 total bytes
Uploading ████████████████████████████████████████ 100% | ETA: 0s | 3/3 KB
#42: deploy completed for env-config config.zip on author,publish - done by [email protected] at 2025-10-24T21:15:59.387Z
Logs:
> State: complete

测试 CDN 配置之类的东西有时会很棘手,但也有办法在本地进行测试。尽管测试将在本地完成,但我们仍然需要利用 CDN 将使用的后台逻辑。如果操作得当,这将让我们看到 CDN 配置与测试 URL 的交互情况,而无需将其推送到开发分支。

您的下一步可能是创建一个拉取请求,以获得批准,将您的更改推送到开发中,这取决于您的组织所使用的分支策略。当您的 PR 获得批准后,可将配置推送到为 Cloud Manager 管道配置的存储库,然后将其推送到开发环境进行进一步测试,最后再推送到生产环境!

使用这种方法,个人开发人员在开发和测试 CDN 配置时完全可以充满信心,因为他们知道这些配置很有可能在生产中发挥作用!

关于作者

诺亚-马蒂森

Arbory Digital 技术交付经理

诺亚是联合国大学威尔明顿分校计算机科学专业的毕业生,原本是一名医学预科生,热衷于癌症检测和人工智能。在 Arbory,他帮助规划项目执行、跨团队分派工作、保持良好沟通并支持内部运营。他相信雅宝利的社区和愿景。他注重环保,喜欢户外活动、露营、攀岩和与朋友共度时光。

在 LinkedIn 上联系诺亚

喜欢你听到的吗?对什么适合您有疑问?我们很乐意与您交谈!联系我们

播客剧集

category
AEM Technical Help, AEM News, Arbory Digital News, Customer Stories, Podcasts
tags
AEM, EDS, da, performance
number of rows
1