Cloudflare 设置

以下屏幕截图说明了如何配置Cloudflare以投放内容。 基本设置用红色圆圈标记。

仅可使用Cloud Flare功能板在浏览器中完全完成此设置。 如果您已熟悉Cloudflare工作程序Wrangler和GitHub,并且不害怕在终端窗口中输入命令,则可能需要改用🔗 wrangler按照Cloudflare的说明进行操作。

创建Cloudflare站点

如果您已经设置了Cloudflare站点和DNS,则可以跳转到设置推送失效部分。

输入域:

选择计划:

请注意,Enterprise ​计划仅支持外科手术推入无效。 在所有其他计划中,每次作者发布内容更改时,站点的整个缓存都将被清除。

对于此演练,我们将使用免费计划

为Cloudflare设置推送失效

推送失效功能会在作者发布内容更改时自动清除客户生产CDN上的内容(例如www.yourdomain.com)。

内容将按URL和缓存标记/键清除。

通过将特定属性添加到项目的配置(Sharepoint中名为.helix/config.xlsx的Excel工作簿或Google驱动器中名为.helix/config的Google工作表),启用了推送失效。

配置属性:

注释
cdn.prod.host
<Production Host>
生产站点的主机名,例如 www.yourdomain.com
cdn.prod.type
cloudflare
cdn.prod.plan
e.g. free

值: freeprobusinessenterprise

默认: free

只有企业计划支持按标记清除

cdn.prod.zoneId
<Cloudflare Zone ID>
生产区域的ID
cdn.prod.apiToken
<Cloudflare API Token>

要创建API令牌,请执行以下操作

  • 转到API令牌
  • 单击“创建令牌”,
  • 转到底部的“创建自定义令牌”,然后单击“开始”
  • 输入令牌名称(例如"Production Site Purge Token"),
  • 权限:“区域”、“缓存清除”、“清除”
  • 区域资源:“包括”、“特定区域”、“&lt;您的生产区域>”
  • 单击“继续摘要”
  • 单击“创建令牌”,
  • 复制生成的令牌值。

请注意,只有企业计划中的站点才会通过url和缓存键进行手术清除。 每次作者发布内容更改时,都将在非企业网站上执行​ 全部清除

您可以使用此工具验证凭据。

DNS设置

对于新站点,我们将从简单的DNS设置开始。

  1. 创建新的CNAME记录。 如果您的区域是mysite.com,并且您想在www.mysite.com上提供流量,则名称应为www
  2. 如果要在example.com上提供流量(不带www),则名称应为@
  3. 如果要在所有子域上提供流量,则名称应为*
  4. 由于我们使用Worker提供内容,因此“内容”字段的值并不重要。 在此处使用您的ref--repo--owner.aem.live主机名最简单。 这是主机名,而不是URL,因此请不要使用前导https://

确保CNAME记录是代理的

SSL/TLS设置

从左窗格中选择​ SSL/TLS,并在下拉列表中选择​ Edge证书。 在右侧,向下滚动到​ 始终使用HTTPS ​并启用设置:

配置缓存

导航到​ 缓存→配置 ​并调整以下设置:

  • 高速缓存级别:标准
  • 浏览器缓存TTL:遵循现有标头

创建缓存规则

接下来,浏览​ 缓存→缓存规则 ​并创建新缓存规则

注意:“启用源缓存控制”选项仅适用于企业帐户。 免费、专业和企业客户默认启用此选项,无法禁用此选项。

应应用以下设置:

  • 传入请求匹配时:主机名包含mydomain.com
  • 然后:符合缓存条件

在浏览器TTL下,单击“添加设置”,然后应用“遵循来源TTL”

创建工作人员

返回到Cloudflare功能板主页,然后导航到侧栏:工作程序和页面→概述。 单击“创建”以创建新辅助进程。

在下一个屏幕上,单击“创建工作程序”,因为这是您想要实现的。

输入辅助进程的名称(例如aem-worker),然后单击“部署”:



在下一个屏幕上,单击“Edit code”(编辑代码)

编辑工作人员代码

  1. 复制此文件的内容。
  2. 在左窗格中,将现有内容替换为复制的内容。
  3. 单击“部署”
  4. 选择“Save and Deploy”确认

返回工作程序(通过单击右上角的向后箭头),然后单击设置→变量和“添加变量”:

添加变量ORIGIN_HOSTNAME并将值设置为源的主机名(如main--mysite--aemsites.aem.live):

如果已启用推送失效,请添加第二个环境变量PUSH_INVALIDATION = enabled

通过单击“部署”应用更改。

接下来,单击触发器并选择“添加路由”:



输入您的域路由(例如www.mydomain.com/*),选择您的区域并使用“添加路由”进行确认:

根据DNS设置中选择的设置,您将选择路由www.mydomain.com/*mydomain.com/*

警告:如果您选择*.mydomain.com/*作为Cloudflare在字段默认值中建议的值,则您的网站将在多个子域下可用。 这将导致攻击者尝试打开webmail.mydomain.com和类似的网站,并导致内容重复,从而可能降低您的搜索引擎排名。

完成所有步骤后,您应该已经一切就绪。

复制
url
路由

可选:验证源请求

使用基于令牌的站点身份验证时,添加以下内容以启用从Cloudflare到AEM的已身份验证请求。

  1. 返回到Workers → &lt;您的员工> →设置→变量
  2. 创建新的环境变量ORIGIN_AUTHENTICATION
  3. 粘贴基于令牌的网站身份验证中的网站令牌值(它以hlx_开头)
  4. 单击“部署”确认

扩展AEM在您网站上的应用范围

如果您一开始只将网站的一部分路由到您的.live源位置,并且路由了特定文件夹(例如 /blog/*)之后,只要准备好公开站点的新部分,您就可以添加更多路由,只需添加更多路由并根据需要重复最后的“添加路由”步骤即可,而无需更改辅助进程配置。

请注意是否有重复的内容

搜索引擎通常会因网站内容重复而惩罚网站,因此确保您的内容在网站的其他位置不可用非常重要。 很遗憾,Cloudflare的默认设置将在其他网络端口上公开您的站点。 在付费Cloudflare计划中,您可以阻止这些附加端口上的流量。 这是生产站点的推荐设置。

recommendation-more-help
10a6ce9d-c5c5-48d9-8ce1-9797d2f0f3ec