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工作表),启用了推送失效。
配置属性:
要创建API令牌,请执行以下操作
- 转到API令牌
- 单击“创建令牌”,
- 转到底部的“创建自定义令牌”,然后单击“开始”
- 输入令牌名称(例如
"Production Site Purge Token"
), - 权限:“区域”、“缓存清除”、“清除”
- 区域资源:“包括”、“特定区域”、“<您的生产区域>”
- 单击“继续摘要”
- 单击“创建令牌”,
- 复制生成的令牌值。
请注意,只有企业计划中的站点才会通过url和缓存键进行手术清除。 每次作者发布内容更改时,都将在非企业网站上执行 全部清除。
您可以使用此工具验证凭据。
DNS设置
对于新站点,我们将从简单的DNS设置开始。
- 创建新的
CNAME
记录。 如果您的区域是mysite.com
,并且您想在www.mysite.com
上提供流量,则名称应为www
- 如果要在example.com上提供流量(不带www),则名称应为
@
- 如果要在所有子域上提供流量,则名称应为
*
- 由于我们使用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”(编辑代码)
编辑工作人员代码
- 复制此文件的内容。
- 在左窗格中,将现有内容替换为复制的内容。
- 单击“部署”
- 选择“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
和类似的网站,并导致内容重复,从而可能降低您的搜索引擎排名。
完成所有步骤后,您应该已经一切就绪。
可选:验证源请求
使用基于令牌的站点身份验证时,添加以下内容以启用从Cloudflare到AEM的已身份验证请求。
- 返回到Workers → <您的员工> →设置→变量
- 创建新的环境变量
ORIGIN_AUTHENTICATION
- 粘贴基于令牌的网站身份验证中的网站令牌值(它以
hlx_
开头) - 单击“部署”确认
扩展AEM在您网站上的应用范围
如果您一开始只将网站的一部分路由到您的.live
源位置,并且路由了特定文件夹(例如 /blog/*
)之后,只要准备好公开站点的新部分,您就可以添加更多路由,只需添加更多路由并根据需要重复最后的“添加路由”步骤即可,而无需更改辅助进程配置。
请注意是否有重复的内容
搜索引擎通常会因网站内容重复而惩罚网站,因此确保您的内容在网站的其他位置不可用非常重要。 很遗憾,Cloudflare的默认设置将在其他网络端口上公开您的站点。 在付费Cloudflare计划中,您可以阻止这些附加端口上的流量。 这是生产站点的推荐设置。