Cloudflare (BYOCDN)
Diese Konfiguration leitet den Agent-basierten Traffic (Anfragen von KI-Bots und LLM-Benutzer-Agents) an den Backend-Service von Edge Optimize (live.edgeoptimize.net) weiter. Menschliche Besuchende und SEO-Bots werden weiterhin wie gewohnt von Ihrem Ursprung aus unterstützt. Um die Konfiguration zu testen, suchen Sie nach Abschluss der Einrichtung in der Antwort nach dem x-edgeoptimize-request-id-Header.
Voraussetzungen
Bevor Sie die Routing-Regeln für Cloudflare-Worker einrichten, stellen Sie sicher, dass Sie über Folgendes verfügen:
- Ein Cloudflare-Konto mit für Ihre Domain aktiviertem Workers.
- Zugriff auf die DNS-Einstellungen Ihrer Domain in Cloudflare.
- Einen API-Schlüssel für Edge Optimize, der von der LLM Optimizer-Benutzeroberfläche abgerufen wurde. Die einzelnen Schritte finden Sie unter Abrufen Ihrer API-Schlüssel.
- (Optional) Weitere Informationen zum Staging-Routing finden Sie unter Staging-API-Schlüssel.
Funktionsweise des Routings
Bei korrekter Konfiguration wird eine Anfrage an Ihre Domain (z. B. www.example.com/page.html) von einem Agent-basierten Benutzer-Agent durch den Cloudflare Worker abgefangen und an das Edge Optimize-Backend weitergeleitet. Die Backend-Anfrage enthält die erforderlichen Header.
Testen der Backend-Anfrage
Sie können das Routing überprüfen, indem Sie eine direkte Anfrage an das Backend von Edge Optimize stellen.
curl -svo /dev/null https://live.edgeoptimize.net/page.html \
-H 'x-forwarded-host: www.example.com' \
-H 'x-edgeoptimize-url: /page.html' \
-H 'x-edgeoptimize-api-key: $EDGE_OPTIMIZE_API_KEY' \
-H 'x-edgeoptimize-config: LLMCLIENT=TRUE;'
Erforderliche Header
Bei Anfragen an das Backend von Edge Optimize müssen die folgenden Header festgelegt werden:
x-forwarded-hostwww.example.comx-edgeoptimize-url/page.html oder /products?id=123x-edgeoptimize-api-keyyour-api-key-herex-edgeoptimize-configLLMCLIENT=TRUE;Einrichtungsoptionen
Es gibt zwei Möglichkeiten, Cloudflare Worker für Edge Optimize einzurichten:
- Option 1: Bereitstellen für Cloudflare (empfohlen) – Es wird automatisch ein neuer Worker erstellt und Sie werden zur Eingabe der erforderlichen Umgebungsvariablen und Geheimnisse aufgefordert. Verwenden Sie diese Option, wenn kein Cloudflare Worker für diese Domain vorhanden ist.
- Option 2: Manuelle Einrichtung – Detaillierte Anleitungen zum manuellen Erstellen und Konfigurieren des Workers. Verwenden Sie diese Option, wenn Sie bereits einen Cloudflare Worker in Ihrer Domain konfiguriert haben – Sie müssen den Edge Optimize-Code mit Ihrem bestehenden Worker zusammenführen (siehe Schritt 2: Hinzufügen des Worker-Codes) – oder wenn Sie die vollständige Kontrolle über die Bereitstellung bevorzugen.
Unabhängig davon, welche Option Sie auswählen, müssen Sie den Worker manuell mit Ihrer Domain verknüpfen. Weitere Informationen dazu finden Sie unter Schritt: Hinzufügen einer Route zu Ihrer Domain.
Option 1: Bereitstellen in Cloudflare
Bei dieser Option wird die Schaltfläche In Cloudflare bereitstellen verwendet, um den Worker automatisch zu erstellen und die erforderlichen Umgebungsvariablen und Geheimnisse in Ihrem Cloudflare-Konto zu konfigurieren. Dies ist der schnellste Methode zum Einrichten eines neuen Workers.
Schritt 1: Bereitstellen des Workers
Klicken Sie auf die Schaltfläche unten, um den Edge Optimize-Worker in Ihrem Cloudflare-Konto bereitzustellen:
Schritt 2: Ausfüllen des Bereitstellungsformulars
Durch Klicken auf die Schaltfläche wird die Seite zur Einrichtung des Workers geöffnet. Füllen Sie das Formular wie folgt aus:
-
Git-Konto: Wählen Sie Ihr GitHub- oder GitLab-Konto aus dem Dropdown-Menü aus. Cloudflare schickt den Worker-Code in ein Repository in Ihrem Konto. Wenn kein Konto aufgeführt ist, können Sie eine neue Verbindung direkt aus dem Dropdown-Menü hinzufügen, indem Sie + Neue GitHub-Verbindung oder + Neue GitLab-Verbindung auswählen. Weitere Informationen finden Sie im Handbuch zur Cloudflare-Git-Integration.
-
Privates Git-Repository erstellen: Lassen Sie diese Option aktiviert (Standardeinstellung).
-
Projektname: Belassen Sie diesen als
edge-optimize-routeroder geben Sie einen Namen Ihrer Wahl ein. -
EDGE_OPTIMIZE_API_KEY: Fügen Sie Ihren von Adobe bereitgestellten Edge Optimize-API-Schlüssel ein. Dieser Wert wird als verschlüsseltes Geheimnis gespeichert.
-
EDGE_OPTIMIZE_TARGET_HOST: Geben Sie die Domain Ihrer Site ohne das Protokoll ein (z. B.
www.example.com). -
Befehl erstellen: Lassen Sie dieses Feld leer.
-
Befehl bereitstellen: Behalten Sie für dieses Feld
npm run deploybei (vorausgefüllt). -
Builds für produktionsfremde Verzweigungen: Lassen Sie diese Option deaktiviert. Dies ist eine Workflow-Funktion für Entwickelnde und wird für diese Bereitstellung nicht benötigt.
-
Klicken Sie auf Speichern und bereitstellen.
Nachdem der Worker bereitgestellt wurde, fahren Sie mit Hinzufügen einer Route zu Ihrer Domain fort, um den Worker mit Ihrer Domain zu verknüpfen. Das Routing wird nicht automatisch konfiguriert und muss manuell abgeschlossen werden.
Option 2: Manuelle Einrichtung
Führen Sie diese Schritte aus, um den Worker manuell zu erstellen und zu konfigurieren.
Schritt 1: Cloudflare Worker erstellen
- Melden Sie sich bei Ihrem Cloudflare-Dashboard an.
- Navigieren Sie in der Seitenleiste zu Workers & Pages.
- Klicken Sie auf Create application (Anwendung erstellen) und dann auf Create Worker (Worker erstellen).
- Legen Sie einen Namen für Ihren Worker fest (z. B.
edge-optimize-router). - Klicken Sie auf Deploy (Bereitstellen), um den Worker mit dem Standard-Code zu erstellen.
Schritt 2: Worker-Code hinzufügen
Klicken Sie nach dem Erstellen des Sekundärs auf Code bearbeiten und ersetzen Sie den Standardcode durch den Code aus worker.js. Wenn Sie bereits über einen Cloudflare-Worker verfügen, führen Sie den Code mit Ihrem vorhandenen Worker-Code zusammen, anstatt ihn vollständig zu ersetzen.
Klicken Sie auf Save and deploy (Speichern und bereitstellen), um den Worker zu veröffentlichen.
Schritt 3: Konfigurieren von Umgebungsvariablen
Umgebungsvariablen speichern vertrauliche Konfigurationen wie Ihren API-Schlüssel auf sichere Weise.
-
Navigieren Sie in den Einstellungen Ihres Workers zu Settings (Einstellungen) > Variables (Variablen).
-
Klicken Sie unter Environment Variables (Umgebungsvariablen) auf Add variable (Variable hinzufügen).
-
Fügen Sie die folgenden Variablen hinzu:
table 0-row-3 1-row-3 2-row-3 Variablenname Beschreibung Erforderlich EDGE_OPTIMIZE_API_KEYIhr von Adobe bereitgestellter API-Schlüssel für Edge Optimize. Ja EDGE_OPTIMIZE_TARGET_HOSTDer Ziel-Host für Edge Optimize-Anfragen (als x-forwarded-host-Header gesendet) und die Ursprungs-Domain für das Failover. Darf nur die Domain ohne Protokoll sein (z. B.www.example.com, nichthttps://www.example.com).Ja -
Klicken Sie für den API-Schlüssel auf Encrypt (Verschlüsseln), um ihn sicher zu speichern.
-
Klicken Sie auf Save and deploy (Speichern und bereitstellen).
Hinzufügen einer Route zu Ihrer Domain add-a-route-to-your-domain
Unabhängig davon, welche Einrichtungsoption Sie verwendet haben, müssen Sie den Worker manuell mit Ihrer Domain verknüpfen. Dieser Schritt aktiviert den Worker in Ihrem Traffic.
- Navigieren Sie zu Settings (Einstellungen) > Triggers (Auslöser) für Ihren Worker.
- Klicken Sie unter Routes (Routen) auf Add route (Route hinzufügen).
- Geben Sie Ihr Domain-Muster ein (z. B.
www.example.com/*oderexample.com/*). - Wählen Sie im Dropdown-Menü eine Zone aus.
- Klicken Sie auf Speichern.
Alternativ können Sie Routen auf Zonenebene konfigurieren:
- Navigieren Sie zu Ihrer Domain in Cloudflare.
- Gehen Sie zu Workers Routes (Workers – Routen).
- Klicken Sie auf Add route (Route hinzufügen) und geben Sie das Muster und den Worker an.
Überprüfen des Failover-Verhaltens
Wenn Edge Optimize nicht verfügbar ist oder einen Fehler zurückgibt, führt der Worker automatisch ein Failover zu Ihrem Ursprung durch. Die Failover-Antworten enthalten den x-edgeoptimize-fo-Header:
< HTTP/2 200
< x-edgeoptimize-fo: 1
Sie können Failover-Ereignisse in den Cloudflare Workers-Protokollen überwachen, um Probleme zu beheben.
Grundlegendes zur Worker-Logik
Der Cloudflare Worker implementiert die folgende Logik:
-
Erkennung von Benutzer-Agents: Prüft, ob der Benutzer-Agent der eingehenden Anfrage mit einem der definierten Agent-basierten Bots übereinstimmt (keine Berücksichtigung der Groß-/Kleinschreibung).
-
Pfad-Targeting: Filtert Anfragen optional nach Zielpfaden. Standardmäßig werden alle HTML-Seiten (URLs, die auf
/enden, keine Erweiterung haben oder auf.htmlenden) weitergeleitet. Sie können bestimmte Pfade mithilfe des ArraysTARGETED_PATHSangeben. -
Schleifenschutz: Der
x-edgeoptimize-request-Header verhindert Endlosschleifen. Wenn Edge Optimize Anfragen an Ihren Ursprung zurücksendet, wird dieser Header auf"1"festgelegt und der Worker übergibt die Anfrage, ohne sie an Edge Optimize zurückzuleiten. -
Header-Sicherheit: Bevor Sie Edge Optimize-Header festlegen, entfernt der Worker alle vorhandenen
x-edgeoptimize-*-Header aus der eingehenden Anfrage, um Header-Injection-Angriffe zu verhindern. -
Header-Zuordnung: Der Worker legt die erforderlichen Header für Edge Optimize fest:
x-forwarded-host– Identifiziert die ursprüngliche Sitedomain.x-edgeoptimize-url– Behält den ursprünglichen Anfragepfad und die Abfragezeichenfolge bei.x-edgeoptimize-api-key– Authentifiziert die Anfrage bei Edge Optimize.x-edgeoptimize-config– Stellt die Konfiguration des Cache-Schlüssels bereit.
-
Failover-Logik: Wenn Edge Optimize einen Fehlerstatus-Code (4XX-Client- oder 5XX-Server-Fehler) zurückgibt oder die Anfrage aufgrund eines Netzwerkfehlers fehlschlägt, erfolgt automatisch ein Failover des Workers zu Ihrem Ursprung mithilfe von
EDGE_OPTIMIZE_TARGET_HOST. Die Failover-Antwort enthält denx-edgeoptimize-fo: 1-Header, um anzugeben, dass ein Failover stattgefunden hat. -
Umleitungshandhabung: Die Option
redirect: "manual"stellt sicher, dass Umleitungsantworten von Edge Optimize an den Client weitergeleitet werden, ohne dass der Worker ihnen folgt.
Anpassen der Konfiguration
Sie können das Worker-Verhalten anpassen, indem Sie die Konfigurationskonstanten oben im Code ändern:
Liste Agent-basierter Bots
Ändern Sie das Array AGENTIC_BOTS, um Benutzer-Agents hinzuzufügen oder zu entfernen:
const AGENTIC_BOTS = [
'AdobeEdgeOptimize-AI',
'ChatGPT-User',
'GPTBot',
'OAI-SearchBot',
'PerplexityBot',
'Perplexity-User',
'ClaudeBot',
'Claude-User',
'Claude-SearchBot',
// Add additional user agents as needed
];
Zielpfade
Standardmäßig werden alle HTML-Seiten an Edge Optimize weitergeleitet. Um das Routing auf bestimmte Pfade zu beschränken, ändern Sie das Array TARGETED_PATHS:
// Route all HTML pages (default)
const TARGETED_PATHS = null;
// Or specify exact paths to route
const TARGETED_PATHS = ['/', '/page.html', '/products', '/about-us'];
Failover-Konfiguration
Standardmäßig erfolgt ein Failover des Workers bei einem 4XX- oder 5XX-Fehler von Edge Optimize. Passen Sie dieses Verhalten an:
// Default: failover on any 4XX or 5XX error
const FAILOVER_ON_4XX = true;
const FAILOVER_ON_5XX = true;
// Failover only on 5XX server errors (not 4XX client errors)
const FAILOVER_ON_4XX = false;
const FAILOVER_ON_5XX = true;
// Disable automatic failover (not recommended)
const FAILOVER_ON_4XX = false;
const FAILOVER_ON_5XX = false;
Wichtige Aspekte
-
Failover-Verhalten: Der Worker führt automatisch ein Failover zu Ihrem Ursprung durch, wenn Edge Optimize einen Fehler zurückgibt (4XX- oder 5XX-Status-Code) oder wenn die Anfrage aufgrund eines Netzwerkfehlers fehlschlägt. Bei einem Failover wird
EDGE_OPTIMIZE_TARGET_HOSTals Ursprungs-Domain verwendet (ähnlich wie beiF_Default_Originvon Fastly oderDefault_Originvon CloudFront). Failover-Antworten enthalten denx-edgeoptimize-fo: 1-Header, den Sie für Monitoring und Debugging verwenden können. -
Caching: Cloudflare speichert Antworten standardmäßig basierend auf der URL zwischen. Da der Agent-basierten Traffic andere Inhalte erhält als menschlicher Traffic, müssen Sie sicherstellen, dass dies bei Ihrer Cache-Konfiguration berücksichtigt wird. Erwägen Sie die Verwendung der Cache-API oder von Cache-Headern, um zwischengespeicherte Inhalte zu unterscheiden. Der
x-edgeoptimize-config-Header sollte in Ihrem Cache-Schlüssel enthalten sein. -
Ratenbegrenzung: Überwachen Sie die Nutzung von Edge Optimize und erwägen Sie bei Bedarf die Implementierung einer Ratenbegrenzung für Agent-basierten Traffic.
-
Testen: Testen Sie die Konfiguration immer in einer Staging-Umgebung, bevor Sie sie in der Produktionsumgebung bereitstellen. Vergewissern Sie sich, dass sich Agent-basierter Traffic und menschlicher Traffic erwartungsgemäß verhalten. Testen Sie das Failover-Verhalten durch Simulation von Edge Optimize-Fehlern.
-
Protokollierung: Aktivieren Sie die Cloudflare Workers-Protokollierung, um Anfragen zu überwachen und Probleme zu beheben. Navigieren Sie zu Workers > Ihr Worker > Logs (Protokolle), um Echtzeitprotokolle anzuzeigen. Der Worker protokolliert Failover-Ereignisse zu Debugging-Zwecken.
Fehlerbehebung
x-edgeoptimize-request-id-Header in AntwortAGENTIC_BOTS befindet.EDGE_OPTIMIZE_API_KEY in Umgebungsvariablen und Geheimnissen korrekt festgelegt ist. Wenden Sie sich an Adobe, um zu bestätigen, dass Ihr API-Schlüssel aktiv ist.x-edgeoptimize-request-Headers eingerichtet ist.TARGETED_PATHS richtig konfiguriert ist.x-edgeoptimize-fo: 1-Header in AntwortFAILOVER_ON_4XX und FAILOVER_ON_5XX auf true festgelegt sind. Prüfen Sie die Worker-Protokolle auf Fehlermeldungen.TARGETED_PATHS befindet (falls angegeben) und mit dem Regex-Muster der HTML-Seite übereinstimmt.EDGE_OPTIMIZE_TARGET_HOST enthält Protokoll (zum Beispiel https://).example.com, nicht https://example.com).Zulassen von „Optimize at Edge“ durch Firewall-Regeln (optional)
Wenn Ihr CDN einen WAF oder Bot Manager verwendet:
-
Zulassungsliste des
*AdobeEdgeOptimize/1.0*-Benutzeragenten in WAF oder Bot-Manager, damit der Service „Optimieren unter Edge" Ihre Ursprungs-Inhalte abrufen kann. -
Wenn Ihre Firewall eine zusätzliche Überprüfung über den Benutzeragenten hinaus erfordert, generieren Sie ein Geheimnis (z. B.
openssl rand -hex 32) und:- Fügen Sie
x-edgeoptimize-fetcher-keymit dem Geheimnis in Ihren Routing-Regeln zusammen mit den anderenx-edgeoptimize-*Kopfzeilen hinzu. - Fügen Sie eine WAF- oder Bot-Manager-Regel hinzu, um Anfragen zuzulassen, bei denen
x-edgeoptimize-fetcher-keymit demselben Geheimnis übereinstimmt.
- Fügen Sie
-
Bei Edge optimieren leitet diese Kopfzeile unverändert weiter - Sie besitzen den gesamten Schlüssellebenszyklus.
Überprüfen des Setups
Stellen Sie nach Abschluss des Setups sicher, dass Bot-Traffic an Edge Optimize weitergeleitet wird und dass der menschliche Traffic nicht betroffen ist.
1. Testen des Bot-Traffics (sollte optimiert werden)
Simulieren Sie eine KI-Bot-Anfrage mithilfe eines Agent-basierten Benutzer-Agents:
curl -svo /dev/null https://www.example.com/page.html \
--header "user-agent: chatgpt-user"
Eine erfolgreiche Antwort enthält den x-edgeoptimize-request-id-Header, der bestätigt, dass die Anfrage über Edge Optimize weitergeleitet wurde:
< HTTP/2 200
< x-edgeoptimize-request-id: 50fce12d-0519-4fc6-af78-d928785c1b85
2. Testen des menschlichen Traffics (sollte NICHT betroffen sein)
Simulieren Sie eine normale menschliche Browser-Anfrage:
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"
Die Antwort sollte nicht den x-edgeoptimize-request-id-Header enthalten. Der Seiteninhalt und die Antwortzeit sollten nach der Aktivierung von „Optimize at Edge“ unverändert bleiben.
3. So lassen sich die beiden Szenarien voneinander unterscheiden
x-edgeoptimize-request-idx-edgeoptimize-fo1)Der Status des Traffic-Routings kann auch in der LLM Optimizer-Benutzeroberfläche überprüft werden. Navigieren Sie zu Kundenkonfiguration und wählen Sie die Registerkarte CDN-Konfiguration aus.
Weitere Informationen zu „Optimieren bei Edge", einschließlich verfügbarer Opportunitys, Workflows für die automatische Optimierung und häufig gestellte Fragen, finden Sie unter " bei Edge - Überblick.