Fastly (BYOCDN)

此配置将代理流量(来自AI机器人和LLM用户代理的请求)路由到Edge优化后端服务(live.edgeoptimize.net)。 与往常一样,我们仍将从您的源头为人类访客和SEO机器人提供服务。 要测试配置,请在设置完成后查找响应中的标头x-edgeoptimize-request-id

先决条件

在设置Fastly VCL规则之前,请确保您具有:

  • 您的域访问Fastly。
  • 已完成LLM Optimizer载入流程。
  • 已完成到LLM Optimizer的CDN日志转发。
  • 从Edge UI检索到LLM Optimizer优化API密钥。

检索API密钥的步骤:

  1. 导航到​ 客户配置 ​并选择​ CDN配置 ​选项卡。

    导航到客户配置

  2. 在​ AI流量路由到部署优化 ​下,勾选​ 将优化部署到AI代理 ​复选框。

    将部署优化勾选到AI代理

  3. 复制API密钥,并继续执行下面的路由配置步骤。

    复制API密钥

    note note
    NOTE
    在此阶段,状态可能显示红叉,指示设置尚未完成。 这是正常情况 — 一旦您完成下面的路由配置并且AI机器人流量开始流动,状态将更新为绿色复选标记,确认路由已成功启用。

此外,如果您需要上述步骤的任何帮助,请联系您的Adobe客户团队或llmo-at-edge@adobe.com

配置

将以下三个VCL片段添加到您的Fastly服务。 这些代码片段处理向Edge Optimize发出的路由代理请求、缓存密钥分离以及故障转移到默认来源。

Fastly VCL

添加 VCL 代码片段

vcl_recv 代码片段

unset req.http.x-edgeoptimize-url;
unset req.http.x-edgeoptimize-config;
unset req.http.x-edgeoptimize-api-key;

if (!req.http.x-edgeoptimize-request
    && req.http.user-agent ~ "(?i)(AdobeEdgeOptimize-AI|ChatGPT-User|GPTBot|OAI-SearchBot|PerplexityBot|Perplexity-User)") {
  set req.http.x-forwarded-host = req.http.host; # required for identifying the original host
  set req.http.x-edgeoptimize-url = req.url; # required for identifying the original url
  set req.http.x-edgeoptimize-config = "LLMCLIENT=TRUE;"; # required for cache key
  set req.http.x-edgeoptimize-api-key = "<YOUR API KEY>"; # required for identifying the client
  set req.backend = F_EDGE_OPTIMIZE;
}

vcl_hash 代码片段

if (req.http.x-edgeoptimize-config) {
  set req.hash += "edge-optimize";
  set req.hash += req.http.x-edgeoptimize-config;
}

vcl_deliver 代码片段

if (req.http.x-edgeoptimize-config && resp.status >= 400) {
  set req.http.x-edgeoptimize-request = "failover";
  set req.backend = F_Default_Origin;
  restart;
}

if (!req.http.x-edgeoptimize-config && req.http.x-edgeoptimize-request == "failover") {
  set resp.http.x-edgeoptimize-fo = "1";
}

故障转移

vcl_deliver代码片段会自动处理故障转移。 如果Edge Optimize返回4XX5XX错误,请求将重新启动并路由回您的默认来源,这样最终用户仍会收到响应。 故障转移响应包括x-edgeoptimize-fo: 1标头。

场景
行为
Edge优化返回2XX
优化的响应会提供给客户端。
Edge优化返回4XX5XX
请求将重新启动,并从默认源提供服务。
故障转移响应
包含标头x-edgeoptimize-fo: 1

验证设置

完成设置后,验证是否正在将机器人流量路由到Edge Optimize,以及人流量是否不受影响。

1. 测试机器人流量(应优化)

使用代理用户代理模拟AI机器人请求:

curl -svo /dev/null https://www.example.com/page.html \
  --header "user-agent: chatgpt-user"

成功的响应包括x-edgeoptimize-request-id标头,用于确认请求是通过Edge优化路由的:

< HTTP/2 200
< x-edgeoptimize-request-id: 50fce12d-0519-4fc6-af78-d928785c1b85

2. 测试人员流量(不应受影响)

模拟常规的人类浏览器请求:

curl -svo /dev/null https://www.example.com/page.html \
  --header "user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36"

响应应​ ​包含x-edgeoptimize-request-id标头。 在Edge中启用优化之前,页面内容和响应时间应保持相同。

3. 如何区分这两种方案

页眉
机器人流量(已优化)
人流(未受影响)
x-edgeoptimize-request-id
存在 — 包含唯一的请求ID
不存在
x-edgeoptimize-fo
仅在发生故障转移时存在(值: 1
不存在

也可以在LLM Optimizer UI中查看流量路由的状态。 导航到​ 客户配置 ​并选择​ CDN配置 ​选项卡。

启用了路由的AI流量路由状态

要进一步了解Edge优化,包括可用的机会、自动优化工作流和常见问题,请返回Edge优化概述

recommendation-more-help
0dec6bd3-6ccf-44b6-a91b-960cfd8f3798