Fastly 设置
以下屏幕截图说明了如何配置 Fastly 以投放内容。 基本设置用红色圆圈标记。
为Fastly设置推送失效
推送失效可自动清除客户生产CDN上的内容(例如 www.yourdomain.com
),则当作者发布内容更改时。
内容将按URL和缓存标记/键清除。
通过将特定属性添加到项目的配置(一个名为的Excel工作簿),可以启用推送失效 .helix/config.xlsx
在Sharepoint或名为的Google工作表中 .helix/config
(在Google通道内)。
配置属性:
要创建Fastly API令牌,
- 转到 个人API令牌,
- 单击“创建令牌”,
- 输入名称(例如
"Production Site Purge Token"
), - 从下拉列表中选择“特定服务”以及您的生产服务,
- 选中“清除选择内容(purge_select) — 按URL或代理项清除”复选框,
- 选择“永不过期”,
- 单击“创建令牌”,
- 复制弹出式窗口中显示的生成的令牌值。
您可以使用此项验证凭据 工具.
创建Fastly服务
转到 Fastly管理UI 并选择 创建服务:
添加域
添加您的生产域(例如, www.mydomain.com
):
配置来源
添加您的来源(例如 main--mysite--hlxsites.hlx.live
):
单击铅笔可编辑新原点:
向下滚动并更改 屏蔽 到 Ashburn Metro (IAD)
(非强制但 推荐 setting)和 覆盖主机 到您源的主机名(与 地址 以上,例如 main--mysite--hlxsites.hlx.live
) (必需 setting):
启用Gzip
创建VCL代码片段
为创建一个VCL代码片段 recv
具有以下VCL代码的子程序:
if (req.url.path !~ "/media_[0-9a-f]{40,}[/a-zA-Z0-9_-]*\.[0-9a-z]+$"
&& req.url.ext !~ "(?i)^(gif|png|jpe?g|webp)$"
&& req.url.ext != "json"
&& req.url.path != "/.auth") {
// strip query string from request url
set req.url = req.url.path;
}
为创建VCL代码段 miss
和 pass
包含以下VCL代码的子例程:
set bereq.http.X-BYO-CDN-Type = "fastly";
set bereq.http.X-Push-Invalidation = "enabled";
NB: X-Push-Invalidation: enabled
请求标头将启用推送失效,包括 长缓存TTL。
miss
代码片段:
pass
代码片段:
最后,创建 deliver
包含以下VCL代码的片段:
unset resp.http.Age;
if (req.url.path !~ "\.plain\.html$") {
unset resp.http.X-Robots-Tag;
}
完成所有步骤并激活服务版本后,您应该已经一切就绪:
注意
你的飞天设置不应该使用 Fastly的新一代Web应用程序防火墙 针对将针对hlx.live或任何其他Edge Delivery Services源的请求。 使用Edge Delivery Services启用WAF可能会导致交付错误的内容。
Edge Delivery Services不需要Web应用程序防火墙,因为它在强硬、共享和超可扩展的基础架构上运行。 通常情况下,WAF会拦截的请求将在我们的CDN中终止。