Unterpfad-Hosting mit Cloudflare einrichten

Erfahren Sie, wie Sie Ihr Hilfecenter mithilfe eines Cloudflare Workers auf einem Unterpfad hosten.

3 Min. Lesezeit

Sie können Ihr Notiondesk Hilfezentrum auf einem Unterpfad Ihrer Hauptdomain mithilfe von Cloudflare Workers hosten.

Anstatt beispielsweise eine Subdomain wie help.yourdomain.com zu verwenden, können Sie Ihr Hilfezentrum wie folgt bereitstellen:

Diese Konfiguration ist sinnvoll, wenn Ihre Hauptwebsite bereits Cloudflare nutzt und Sie möchten, dass Ihre Dokumentation oder Supportinhalte unter derselben Domain bleiben.

Bevor Sie beginnen

Bevor Sie Subpath-Hosting mit Cloudflare einrichten, stellen Sie sicher, dass Sie Folgendes haben:

yourdomain.com/help

yourdomain.com/docs

yourdomain.com/support


  • Ein bestehendes Notiondesk Hilfezentrum
  • Eine über Cloudflare verwaltete Domain.
  • Ein Unterpfad, den Sie für Ihr Hilfecenter verwenden möchten, zum Beispiel:
    • /help
    • /docs
    • /support
  • Subpath-Hosting in Notiondesk aktiviert

Symbol
Hinweis: Diese Konfiguration wird empfohlen, wenn Ihre Hauptwebsite-Domain bereits Cloudflare nutzt. Falls Ihre Website bei einem anderen Anbieter gehostet wird, sollten Sie stattdessen eine der anderen Anleitungen zum Subpfad-Hosting verwenden .

Unterpfad-Hosting in Notiondesk aktivieren

Aktivieren Sie zunächst das Subpath-Hosting in Ihrem Notiondesk-Dashboard.

  1. Öffnen Sie Ihr Notiondesk Dashboard.
  1. Gehen Sie zu Einstellungen > Allgemein
  1. Scrollen Sie nach unten zum Abschnitt „Domains“ .
  1. Aktivieren Sie den Unterpfad -Schalter
  1. Wählen Sie Cloudflare als Ihren Einrichtungsanbieter aus.
  1. Kopieren Sie den von Notiondesk generierten Cloudflare Worker-Code.

Notiondesk generiert automatisch den Cloudflare Worker-Code mit den korrekten Werten für Ihr Hilfecenter.

Sie sollten den Code direkt von Ihrem eigenen Dashboard kopieren, da er Werte enthält, die spezifisch für Ihre Konfiguration sind, wie zum Beispiel:

  • Ihr Notiondesk Ursprungshost
  • Ihre benutzerdefinierte Domain
  • Ihr ausgewählter Unterpfad

Erstellen Sie einen Cloudflare Worker

Erstellen Sie anschließend einen Cloudflare Worker, der den Unterpfad Ihres Hilfezentrums an Notiondesk weiterleitet.

  1. Öffnen Sie Ihr Cloudflare-Dashboard.
  1. Gehe zu Mitarbeiter & Seiten
  1. Klicken Sie auf „Anwendung erstellen“.
  1. Mitarbeiter auswählen
  1. Neuen Mitarbeiter erstellen
  1. Öffnen Sie den Worker-Editor.
  1. Ersetzen Sie den Standardcode durch den von Notiondesk generierten Code.
  1. Klicken Sie auf Speichern und bereitstellen

Nach der Bereitstellung des Workers stellt Cloudflare ihn zwar zur Verfügung, er ist aber noch nicht unter Ihrer Hilfecenter-URL erreichbar. Sie müssen eine Route konfigurieren, damit Cloudflare weiß, wann der Worker ausgelöst werden soll.

Konfigurieren Sie die Cloudflare-Route

Nach der Bereitstellung des Workers müssen Sie Cloudflare mitteilen, wann dieser Worker ausgeführt werden soll. Der Worker sollte nur im ausgewählten Unterpfad Ihres Hilfecenters ausgeführt werden.

Wenn Ihr Hilfecenter beispielsweise unter yourdomain.com/help erreichbar sein soll, fügen Sie eine Worker-Route wie diese hinzu: yourdomain.com/help*

Dadurch führt Cloudflare den Worker für Folgendes aus:

  • IhreDomain.com/Hilfe
  • IhreDomain.com/help/collections/getting-started
  • IhreDomain.com/help/articles/example-article
  • IhreDomain.com/help/contact

Sie müssen außerdem sicherstellen, dass die interne Route Notiondesk verarbeitet wird: yourdomain.com/_nd/*

Füge die Route in Cloudflare hinzu.

  1. Öffnen Sie Ihren Worker im Cloudflare-Dashboard.
  1. Gehen Sie zu den Einstellungen
  1. Offene Domänen und Routen
  1. Klicken Sie auf „Route hinzufügen“.
  1. Wählen Sie Ihre Zone aus
  1. Fügen Sie Ihre Hilfecenter-Route hinzu, Beispiel : yourdomain.com/help*
  1. Fügen Sie die interne Route Notiondesk hinzu, Beispiel: yourdomain.com/_nd/*
  1. Speichern Sie Ihre Änderungen

icon
Verwenden Sie den in Notiondesk ausgewählten Teilpfad. Wenn Sie ausgewählt haben, sollte Ihre Route lauten./docsyourdomain.com/docs*

Wenn Sie /support gewählt haben, sollte Ihre Route yourdomain.com/support* lauten.

In der offiziellen Dokumentation von Cloudflare wird außerdem erklärt, wie Worker-Routen und benutzerdefinierte Domains für Worker funktionieren, falls Sie weitere Details benötigen.

Cloudflare Worker-Beispiel

const ORIGIN_HOST = "your-help-center.notiondesk.help";
const CUSTOM_HOST = "yourdomain.com";
const SUBPATH = "/help";

function isSubpathRequest(pathname) {
  return pathname === SUBPATH || pathname.startsWith(SUBPATH + "/");
}

export default {
  async fetch(request) {
    const url = new URL(request.url);
    const shouldProxy =
      isSubpathRequest(url.pathname) || url.pathname.startsWith("/_nd/");

    if (!shouldProxy) {
      return fetch(request);
    }

    url.hostname = ORIGIN_HOST;

    const proxyRequest = new Request(url, request);
    proxyRequest.headers.set("Host", CUSTOM_HOST);
    proxyRequest.headers.set("X-Forwarded-Host", CUSTOM_HOST);
    proxyRequest.headers.set("X-Forwarded-Proto", "https");

    if (isSubpathRequest(url.pathname)) {
      proxyRequest.headers.set("X-Site-Path-Prefix", SUBPATH);
    }

    return fetch(proxyRequest);
  },
};
Symbol
Dies ist nur ein Beispiel. Verwenden Sie den in Ihrem Notiondesk-Dashboard generierten Worker-Code für Ihr eigenes Hilfecenter.

Überprüfen Sie Ihre Konfiguration

Nachdem der Worker bereitgestellt und die Routen konfiguriert wurden, öffnen Sie Ihr Hilfecenter über den von Ihnen ausgewählten Unterpfad. Überprüfen Sie, ob die Hauptseite des Hilfecenters korrekt geladen wird.

Was zu überprüfen ist

Stellen Sie sicher, dass:

  • Das Hilfecenter wird unter Ihrer Hauptdomain geladen.
  • Artikelseiten öffnen sich korrekt
  • Bilder, Skripte und Stile werden korrekt geladen
  • Die Browser-URL bleibt auf Ihrer benutzerdefinierten Domain.

Symbol
Änderungen bei Cloudflare können einige Minuten dauern. Sollte das Hilfecenter nicht sofort geladen werden, warten Sie bitte einen Moment und aktualisieren Sie die Seite.

Verwandte Artikel

War diese Seite hilfreich?