Verbinden Sie Ihr Help Center über Cloudflare mit einem benutzerdefinierten Unterordner
Folgen Sie dieser Anleitung, um Ihr Ferndesk Help Center in einem benutzerdefinierten Unterordner (wie ihredomain.com/help) zu hosten, indem Sie Cloudflare Workers als Reverse Proxy verwenden.
Dies dauert etwa 10 Minuten und erfordert nur geringe technische Kenntnisse. Wir haben diese Anleitung so einfach wie möglich verfasst.
Bleiben Sie hängen? Kontaktieren Sie [email protected] und wir helfen Ihnen gerne beim Abschluss Ihrer Einrichtung.
Voraussetzungen
Ein Ferndesk Workspace mit Admin-Zugriff
Eine Domain in Ihrem Besitz (bereits auf Cloudflare verwiesen)
Grundlegende Vertrautheit mit dem Cloudflare-Dashboard
Der kostenlose Tarif von Cloudflare erlaubt 100.000 Worker-Anfragen pro Tag. Für produktive Help Center mit hohem Traffic sollten Sie ein Upgrade auf einen kostenpflichtigen Tarif mit nutzungsbasierter Abrechnung in Betracht ziehen.
Schritt 1: Einrichten des benutzerdefinierten Unterordners in Ferndesk
Konfigurieren Sie zunächst Ihr Ferndesk Help Center so, dass es einen Pfad für einen benutzerdefinierten Unterordner verwendet.
Melden Sie sich in Ihrem Ferndesk Workspace an, klappen Sie Help Center in der linken Seitenleiste aus und klicken Sie dann auf Customize.
Klicken Sie auf Custom domain
Wählen Sie die Option Custom sub-folder
Geben Sie Ihre Domain in das Feld Domain ein (z. B.
ihredomain.com).Geben Sie den gewünschten Unterordner-Pfad in das Feld Subdirectory ein (z. B.
/helpoder/docs).Klicken Sie auf Configure sub-folder.
Nach der Konfiguration generiert Ferndesk die erforderlichen DNS-Einträge und Endpunkt-Informationen. Notieren Sie sich diese Details – Sie benötigen sie für die Einrichtung des Reverse Proxy.
Schritt 2: Erstellen eines Cloudflare Workers
Erstellen Sie nun einen neuen Cloudflare Worker, der als Reverse Proxy fungiert.
Melden Sie sich in Ihrem Cloudflare-Dashboard an.
Navigieren Sie unter BUILD → Compute & AI in der linken Seitenleiste zu Workers & Pages.
Klicken Sie oben rechts auf Create application.
Klicken Sie unter Start with Hello World! auf Get started.
Geben Sie Ihrem Worker einen aussagekräftigen Namen wie
ferndesk-reverse-proxyund klicken Sie dann auf Deploy.
Schritt 3: Konfigurieren der Worker-Routen
Richten Sie die Routing-Regel ein, die den Datenverkehr von Ihrem benutzerdefinierten Unterordner an den Cloudflare Worker leitet.
Navigieren Sie in den Worker-Einstellungen zur Registerkarte Settings.
Scrollen Sie zu Domains & Routes und klicken Sie auf Add.
Ein modales Fenster öffnet sich. Wählen Sie die Option Route.
Wählen Sie im Dropdown-Menü Zone Ihre Domain aus (z. B.
ihredomain.com).Geben Sie im Feld Route das Muster für Ihren Unterordner-Pfad ein. Verwenden Sie
ihredomain.com/help, um alle Anfragen an den Pfad/helpund dessen Unterpfade zu erfassen.Lassen Sie den Failure mode aus Sicherheitsgründen auf Fail closed (block) eingestellt.
Klicken Sie auf Add route.
WICHTIG: Sie müssen eine separate Route für das Ferndesk-Asset-Verzeichnis _ferndesk hinzufügen. Befolgen Sie die folgenden Schritte, um Ihre Einrichtung abzuschließen.
Schritt 3b: Hinzufügen der _ferndesk-Route
Scrollen Sie zu Domains & Routes und klicken Sie auf Add.
Ein modales Fenster öffnet sich. Wählen Sie die Option Route.
Wählen Sie im Dropdown-Menü Zone Ihre Domain aus (z. B.
ihredomain.com).Geben Sie im Feld Route das Muster für Ihren Unterordner-Pfad ein. Verwenden Sie
ihredomain.com/_ferndesk, um alle Anfragen an den Pfad/_ferndeskund dessen Unterpfade zu erfassen.Lassen Sie den Failure mode aus Sicherheitsgründen auf Fail closed (block) eingestellt.
Klicken Sie auf Add route.
Schritt 4: Bearbeiten des Worker-Codes
Aktualisieren Sie nun den Worker-Code, um die Reverse-Proxy-Logik zu implementieren. Der Worker fängt Anfragen an Ihren Unterordner ab und leitet sie an Fern weiter.
Klicken Sie auf Edit code (oder rufen Sie den Code-Editor über das Worker-Dashboard auf).
Ersetzen Sie den gesamten Code in
worker.jsdurch das unten stehende Reverse-Proxy-Skript.// ONLY edit these const HELP_HOST = 'your-slug.hc.ferndesk.com'; // your Ferndesk help center host copied from your dashboard const PROXY_PREFIX = '/help'; // the path you want your help center to live on addEventListener('fetch', (event) => { event.respondWith(handleRequest(event.request)); }); async function handleRequest(request) { const originalUrl = new URL(request.url); if (originalUrl.pathname.endsWith('/') && originalUrl.pathname !== '/') { originalUrl.pathname = originalUrl.pathname.slice(0, -1); return Response.redirect(originalUrl.toString(), 301); } if ( originalUrl.pathname !== PROXY_PREFIX && !originalUrl.pathname.startsWith(`${PROXY_PREFIX}/`) && !originalUrl.pathname.startsWith('/_ferndesk/') ) { return fetch(request); } // Build the upstream request with the prefix removed const upstreamUrl = new URL(originalUrl.toString()); upstreamUrl.hostname = HELP_HOST; if (upstreamUrl.pathname === PROXY_PREFIX) { upstreamUrl.pathname = '/'; } else if (upstreamUrl.pathname.startsWith(`${PROXY_PREFIX}/`)) { upstreamUrl.pathname = upstreamUrl.pathname.slice(PROXY_PREFIX.length) || '/'; } const proxyRequest = new Request(upstreamUrl.toString(), request); // CRITICAL: Needed to resolve requests correctly proxyRequest.headers.set('X-Ferndesk-Base-Path', PROXY_PREFIX); proxyRequest.headers.set('X-Forwarded-Host', originalUrl.host); proxyRequest.headers.set('X-Ferndesk-Original-Host', originalUrl.host); return fetch(proxyRequest); }Ersetzen Sie
HELP_HOSTdurch die tatsächliche Ferndesk-Domain, die Ihnen bei der Konfiguration Ihres Unterordners mitgeteilt wurde. Ersetzen SiePROXY_PREFIX, falls Sie einen anderen Pfad verwenden (z. B./docsstatt/help).Klicken Sie auf Deploy, um Ihre Änderungen zu veröffentlichen.
Schritt 5: Einrichtung überprüfen
Testen Sie, ob Ihr Help Center nun unter dem Pfad Ihres benutzerdefinierten Unterordners erreichbar ist.
Öffnen Sie einen neuen Browser-Tab und navigieren Sie zu
https://ihredomain.com/help.Sie sollten sehen, dass Ihr Ferndesk Help Center mit Ihrem Branding geladen wird.
Testen Sie einige Seiten, indem Sie auf Links klicken, um sicherzustellen, dass die Navigation korrekt funktioniert.
Wenn Ihr Help Center erfolgreich lädt und Ihre Inhalte anzeigt, arbeitet der Reverse Proxy korrekt! Ihre Kunden können nun über Ihre eigene Domain auf Ihr Help Center zugreifen.
Etwas schiefgelaufen? Kontaktieren Sie uns unter [email protected] und wir helfen Ihnen, Ihre Einrichtung abzuschließen.
Fehlerbehebung
Problem | Ursache | Lösung |
|---|---|---|
404 Not Found Fehler beim Aufrufen der URL | Route ist nicht korrekt konfiguriert oder der Worker ist nicht bereitgestellt | Überprüfen Sie, ob das Routen-Muster exakt mit Ihrer Domain und Ihrem Unterordner-Pfad übereinstimmt. Stellen Sie sicher, dass der Worker im Bereich Domains & Routes bereitgestellt und aktiv ist. |
Leere Seite oder fehlerhaftes Design | Ferndesk-Domain im Worker-Code ist falsch | Überprüfen Sie die Variable |
CSS und Bilder laden nicht | Relative URLs in der Ferndesk-Antwort werden nicht umgeschrieben | Möglicherweise müssen Sie das Umschreiben von Response-Headern hinzufügen, um relative Assets zu verarbeiten. Kontaktieren Sie den Fern-Support für eine erweiterte Proxy-Konfiguration. |
Worker-Anfragen auf 100.000/Tag begrenzt | Limit des kostenlosen Cloudflare-Tarifs erreicht | Führen Sie ein Upgrade Ihres Cloudflare-Tarifs auf eine nutzungsbasierte Abrechnung durch, um unbegrenzte Anfragen über das kostenlose Kontingent hinaus zu ermöglichen. |