Fastly (BYOCDN)
Essa configuração roteia o tráfego agêntico (solicitações de bots de IA e agentes de usuário LLM) para o serviço de back-end do Edge Optimize (live.edgeoptimize.net). Visitantes humanos e bots de SEO continuam sendo atendidos a partir da sua origem normalmente. Para testar a configuração, após sua conclusão, procure o cabeçalho x-edgeoptimize-request-id na resposta.
Pré-requisitos
Antes de configurar as regras do Fastly VCL, verifique se você tem:
- Acesso ao Fastly para o seu domínio.
- Uma chave da API do Edge Optimize obtida na interface do usuário do LLM Optimizer. Para obter as etapas, consulte Recuperar suas chaves de API.
- (Opcional) Para testar o roteamento de preparo, consulte Chave de API de preparo.
Configuração
Adicione os três trechos de VCL a seguir ao serviço Fastly. Esses trechos lidam com solicitações agênticas de roteamento para o Edge Otimize, separação de chaves de cache e failover para a sua origem padrão.
Snippet vcl_recv
unset req.http.x-edgeoptimize-url;
unset req.http.x-edgeoptimize-config;
unset req.http.x-edgeoptimize-api-key;
unset req.http.x-edgeoptimize-fetcher-key; # Optional (required only in case of WAF)
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.http.x-edgeoptimize-fetcher-key = "<YOUR FETCHER KEY>"; # Optional (required only in case of WAF)
set req.backend = F_EDGE_OPTIMIZE;
return(lookup);
}
Snippet vcl_hash
if (req.http.x-edgeoptimize-config) {
set req.hash += "edge-optimize";
set req.hash += req.http.x-edgeoptimize-config;
}
Snippet vcl_deliver
if (req.http.x-edgeoptimize-config && resp.status >= 400) {
set req.http.x-edgeoptimize-request = "failover";
restart;
}
if (req.http.x-edgeoptimize-config) {
return(deliver);
}
if (!req.http.x-edgeoptimize-config && req.http.x-edgeoptimize-request == "failover") {
set resp.http.x-edgeoptimize-fo = "1";
}
Failover
O trecho vcl_deliver trata o failover automaticamente. Se o Edge Otimize retornar um erro 4XX ou 5XX, a solicitação será reiniciada e roteada de volta para sua origem padrão para que o usuário final ainda receba uma resposta. As respostas de failover incluem o cabeçalho x-edgeoptimize-fo: 1.
2XX4XX ou 5XXx-edgeoptimize-fo: 1.Permitir otimização na Edge por meio de regras de firewall (opcional)
Se o CDN usar um WAF ou Gerenciador de bot:
-
Inclua na lista de permissões o agente de usuário
*AdobeEdgeOptimize/1.0*no WAF ou no Gerenciador de bot para que o serviço Otimizar na Edge possa buscar o conteúdo de origem. -
Se o firewall exigir verificação adicional além do agente do usuário, gere um segredo (por exemplo,
openssl rand -hex 32) e:- Adicione
x-edgeoptimize-fetcher-keycom o segredo em suas regras de roteamento junto com os outros cabeçalhosx-edgeoptimize-*. - Adicione uma regra do WAF ou do Gerenciador de bot para permitir solicitações em que
x-edgeoptimize-fetcher-keycorresponde ao mesmo segredo.
- Adicione
-
Otimizar no Edge encaminha esse cabeçalho como está — você é o proprietário do ciclo de vida completo da chave.
Verificar a configuração
Após concluir a configuração, verifique se o tráfego de bots está sendo roteado para o Edge Optimize e se o tráfego humano permanece inalterado.
1. Tráfego de bots de teste (deve ser otimizado)
Simular uma solicitação de bot de IA usando um agente de usuário agêntico:
curl -svo /dev/null https://www.example.com/page.html \
--header "user-agent: chatgpt-user"
Uma resposta bem-sucedida inclui o cabeçalho x-edgeoptimize-request-id, confirmando que a solicitação foi roteada pelo Edge Otimize:
< HTTP/2 200
< x-edgeoptimize-request-id: 50fce12d-0519-4fc6-af78-d928785c1b85
2. Teste o tráfego humano (NÃO deve ser afetado)
Simule uma solicitação regular de navegador humano:
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"
A resposta não deve conter o cabeçalho x-edgeoptimize-request-id. O conteúdo da página e o tempo de resposta devem permanecer idênticos aos de antes da habilitação da otimização na borda.
3. Como diferenciar entre os dois cenários
x-edgeoptimize-request-idx-edgeoptimize-fo1)O status do roteamento de tráfego também pode ser verificado na interface do usuário do LLM Optimizer. Navegue até Configuração do cliente e selecione a guia Configuração de CDN.
Para saber mais sobre como Otimizar na Edge, incluindo oportunidades disponíveis, fluxos de trabalho de otimização automática e perguntas frequentes, volte para a visão geral de Otimizar na Edge.