Ferndesk
Benutzerdefinierte Unterordner

Verbinden Sie Ihr Help Center über Cloudflare mit einem benutzerdefinierten Unterordner

Folgen Sie dieser Anleitung, um Ihr Ferndesk Help Center in einem benutzerdefinierten Unterordner (z. B. ihredomain.de/help) unter Verwendung von Cloudflare Workers als Reverse Proxy zu hosten.

Die Einrichtung dauert etwa 10 Minuten und erfordert nur geringe technische Kenntnisse. Wir haben diese Anleitung so einfach wie möglich gestaltet.

Sie kommen nicht weiter? Kontaktieren Sie [email protected] und wir helfen Ihnen beim Abschluss der Einrichtung.

Voraussetzungen

  • Ein Ferndesk Workspace mit Admin-Zugriff

  • Eine eigene Domain (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 für die Verwendung eines benutzerdefinierten Unterordner-Pfads.

  1. Melden Sie sich in Ihrem Ferndesk Workspace an, erweitern Sie Help Center in der linken Seitenleiste und klicken Sie dann auf Customize.

  2. Klicken Sie auf Custom domain

  3. Wählen Sie die Option Custom sub-folder aus

  4. Geben Sie Ihre Domain im Feld Domain ein (z. B. ihredomain.de).

  5. Geben Sie den gewünschten Unterordner-Pfad im Feld Subdirectory ein (z. B. /help oder /docs).

  6. Klicken Sie auf Configure sub-folder.

Nach der Konfiguration generiert Ferndesk die erforderlichen DNS-Einträge und Endpunktinformationen. Notieren Sie sich diese Details – Sie benötigen sie für die Einrichtung des Reverse Proxys.

Schritt 2: Erstellen eines Cloudflare Workers

Erstellen Sie nun einen neuen Cloudflare Worker, der als Reverse Proxy fungiert.

  1. Melden Sie sich in Ihrem Cloudflare-Dashboard an.

  2. Navigieren Sie unter BUILDCompute & AI in der linken Seitenleiste zu Workers & Pages.

    Das Cloudflare-Dashboard zeigt die Menüoption „Workers & Pages“ in der linken Seitenleiste unter dem Abschnitt BUILD markiert an
  3. Klicken Sie oben rechts auf Create application.

    Das Cloudflare Workers & Pages Dashboard mit der sichtbaren Schaltfläche „Create application“ oben rechts
  4. Klicken Sie unter Start with Hello World! auf Get started.

  5. Geben Sie Ihrem Worker einen beschreibenden Namen wie ferndesk-reverse-proxy und klicken Sie dann auf Deploy.

Schritt 3: Konfigurieren der Worker-Routen

Richten Sie die Routing-Regel ein, die den Traffic von Ihrem benutzerdefinierten Unterordner zum Cloudflare Worker leitet.

  1. Navigieren Sie in den Worker-Einstellungen zum Tab Settings.

  2. Scrollen Sie zu Domains & Routes und klicken Sie auf Add.

  3. Ein modales Fenster öffnet sich. Wählen Sie die Option Route.

    Modaler Dialog zum Konfigurieren von Domains und Routen mit markierter Option „Route“
  4. Wählen Sie im Dropdown-Menü Zone Ihre Domain aus (z. B. ihredomain.de).

  5. Geben Sie im Feld Route das Muster für Ihren Unterordner-Pfad ein. Verwenden Sie ihredomain.de/help, um alle Anfragen an den Pfad /help und dessen Unterpfade zu erfassen.

  6. Lassen Sie den Failure mode aus Sicherheitsgründen auf Fail closed (block) gesetzt.

  7. Klicken Sie auf Add route.

    Modal zur Routenkonfiguration zeigt die auf ihredomain.de gesetzte Zone und das Routenmuster *ihredomain.de/help* mit Optionen für den Fehlermodus an

WICHTIG: Sie müssen eine separate Route für das Ferndesk-Asset-Verzeichnis _ferndesk hinzufügen. Befolgen Sie die untenstehenden Schritte, um Ihre Einrichtung abzuschließen.

Schritt 3b: Hinzufügen der _ferndesk-Route

  1. Scrollen Sie zu Domains & Routes und klicken Sie auf Add.

  2. Ein modales Fenster öffnet sich. Wählen Sie die Option Route.

    Modaler Dialog zum Konfigurieren von Domains und Routen mit markierter Option „Route“
  3. Wählen Sie im Dropdown-Menü Zone Ihre Domain aus (z. B. ihredomain.de).

  4. Geben Sie im Feld Route das Muster für Ihren Unterordner-Pfad ein. Verwenden Sie ihredomain.de/_ferndesk, um alle Anfragen an den Pfad /_ferndesk und dessen Unterpfade zu erfassen.

  5. Lassen Sie den Failure mode aus Sicherheitsgründen auf Fail closed (block) gesetzt.

  6. Klicken Sie auf Add route.

Schritt 4: Bearbeiten des Worker-Codes

Aktualisieren Sie nun den Worker-Code, um die Reverse-Proxy-Logik zu verarbeiten. Der Worker fängt Anfragen an Ihren Unterordner ab und leitet sie an Ferndesk weiter.

  1. Klicken Sie auf Edit code (oder rufen Sie den Code-Editor über das Worker-Dashboard auf).

  2. Ersetzen Sie den gesamten Code in worker.js durch das untenstehende 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_HOST durch die tatsächliche Ferndesk-Domain, die Ihnen bei der Konfiguration Ihres benutzerdefinierten Unterordners mitgeteilt wurde. Ersetzen Sie PROXY_PREFIX, falls Sie einen anderen Unterordner-Pfad verwenden (z. B. /docs statt /help).

  3. Klicken Sie auf Deploy, um Ihre Änderungen zu veröffentlichen.

Schritt 5: Überprüfung der Einrichtung

Testen Sie, ob Ihr Help Center nun unter Ihrem benutzerdefinierten Unterordner-Pfad erreichbar ist.

  1. Öffnen Sie einen neuen Browser-Tab und navigieren Sie zu https://ihredomain.de/help.

  2. Sie sollten Ihr Ferndesk Help Center mit Ihrem Branding sehen.

  3. 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 ist schiefgelaufen? Kontaktieren Sie uns unter [email protected] und wir helfen Ihnen beim Abschluss der Einrichtung.

Fehlerbehebung

Problem

Ursache

Lösung

404 Not Found-Fehler beim Aufruf der URL

Die Route ist nicht korrekt konfiguriert oder der Worker wurde nicht bereitgestellt

Überprüfen Sie, ob das Routenmuster 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

Die Ferndesk-Domain im Worker-Code ist falsch

Prüfen Sie erneut, ob die Variable ferndesk_host in Ihrem Worker-Code mit der von Ferndesk bereitgestellten Domain übereinstimmt. Veröffentlichen Sie den korrigierten Code.

CSS und Bilder werden nicht geladen

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 Ferndesk-Support für erweiterte Proxy-Konfigurationen.

Worker-Anfragen auf 100.000/Tag begrenzt

Limit für kostenlosen Cloudflare-Tarif erreicht

Aktualisieren Sie Ihren Cloudflare-Tarif auf nutzungsbasierte Abrechnung für unbegrenzte Anfragen über das kostenlose Kontingent hinaus.

War das hilfreich?