Configurez l'hébergement de sous-chemins avec Cloudflare

Découvrez comment héberger votre centre d'aide sur un sous-chemin à l'aide d'un Cloudflare Worker.

4 minutes de lecture

Vous pouvez héberger votre centre d'aide Notiondesk sur un sous-chemin de votre domaine principal en utilisant Cloudflare Workers .

Par exemple, au lieu d'utiliser un sous-domaine comme help.yourdomain.com, vous pouvez héberger votre centre d'aide à partir de :

Cette configuration est utile lorsque votre site web principal utilise déjà Cloudflare et que vous souhaitez que votre documentation ou votre contenu d'assistance reste sur le même domaine.

Avant de commencer

Avant de configurer l'hébergement de sous-chemins avec Cloudflare, assurez-vous de disposer des éléments suivants :

yourdomain.com/help

yourdomain.com/docs

yourdomain.com/support


  • Un centre d'aide existant Notiondesk
  • Un domaine géré via Cloudflare
  • Un sous-chemin que vous souhaitez utiliser pour votre centre d'aide, par exemple :
    • __PRÉSERVÉ_13__
    • __PRÉSERVÉ_12__
    • __PRÉSERVÉ_11__
  • L'hébergement de sous-chemins est activé dans Notiondesk

icône
Remarque : Cette configuration est recommandée si le domaine principal de votre site web utilise déjà Cloudflare. Si votre site web est hébergé chez un autre fournisseur, vous pouvez consulter l’un des autres guides d’hébergement de sous-chemins .

Activer l'hébergement de sous-chemin dans Notiondesk

Tout d'abord, activez l'hébergement de sous-chemin depuis votre tableau de bord Notiondesk.

  1. Ouvrez votre tableau de bord Notiondesk.
  1. Accédez à Réglages > Général
  1. Faites défiler vers le bas jusqu'à la section Domaines
  1. Activez le commutateur de sous-chemin
  1. Sélectionnez Cloudflare comme fournisseur de configuration
  1. Copiez le code Cloudflare Worker généré par Notiondesk

Notiondesk génère automatiquement le code Cloudflare Worker avec les valeurs correctes pour votre centre d'aide.

Vous devez copier le code directement depuis votre tableau de bord, car il contient des valeurs spécifiques à votre configuration, telles que :

  • Votre hôte d'origine Notiondesk
  • Votre domaine personnalisé
  • Votre sous-chemin sélectionné

Créer un travailleur Cloudflare

Ensuite, créez un Cloudflare Worker qui redirigera le sous-chemin de votre centre d'aide vers Notiondesk.

  1. Ouvrez votre tableau de bord Cloudflare
  1. Aller à la section « Travailleurs et pages »
  1. Cliquez sur Créer une application
  1. Sélectionner un travailleur
  1. Créer un nouvel employé
  1. Ouvrir l'éditeur Worker
  1. Remplacez le code par défaut par le code généré par Notiondesk
  1. Cliquez sur Enregistrer et déployer

Une fois le Worker déployé, Cloudflare le rendra disponible, mais il ne sera pas encore exécuté sur l'URL de votre centre d'aide. Vous devez configurer une route pour que Cloudflare sache quand déclencher le Worker.

Configurer le routage Cloudflare

Après le déploiement du Worker, vous devez indiquer à Cloudflare quand ce Worker doit s'exécuter. Le Worker ne doit s'exécuter que sur le sous-chemin de votre centre d'aide.

Par exemple, si votre centre d'aide doit être accessible à l'adresse yourdomain.com/help, ajoutez une route Worker comme ceci : yourdomain.com/help*

Cela permet à Cloudflare d'exécuter le Worker pour :

  • votredomaine.com/aide
  • votredomaine.com/aide/collections/démarrage
  • votredomaine.com/aide/articles/exemple-article
  • votredomaine.com/aide/contact

Vous devez également vous assurer que la route interne Notiondesk est gérée : yourdomain.com/_nd/*

Ajoutez la route dans Cloudflare

  1. Ouvrez votre Worker dans le tableau de bord Cloudflare
  1. Accéder aux paramètres
  1. Domaines et routes ouverts
  1. Cliquez sur Ajouter un itinéraire
  1. Sélectionnez votre zone
  1. Ajoutez votre itinéraire de centre d'aide, exemple : yourdomain.com/help*
  1. Ajoutez la route interne Notiondesk, exemple : yourdomain.com/_nd/*
  1. Enregistrez vos modifications

icon
Utilisez le sous-chemin que vous avez sélectionné dans Notiondesk. Si vous avez choisi , votre route devrait être ./docsyourdomain.com/docs*

Si vous avez choisi /support, votre itinéraire devrait être yourdomain.com/support*.

La documentation officielle de Cloudflare explique également le fonctionnement des routes Worker et des domaines personnalisés pour les Workers si vous avez besoin de plus de détails.

Exemple de Cloudflare Worker

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);
  },
};
icône
Ceci n'est qu'un exemple. Utilisez le code Worker généré dans votre tableau de bord Notiondesk pour votre propre centre d'aide.

Vérifiez votre configuration

Une fois le Worker déployé et les routes configurées, ouvrez votre centre d'aide depuis le sous-chemin sélectionné. Vérifiez que la page principale du centre d'aide se charge correctement.

Que vérifier

Assurez-vous que :

  • Le centre d'aide se charge sous votre domaine principal
  • Les pages d'articles s'ouvrent correctement
  • Les images, les scripts et les styles se chargent correctement.
  • L'URL du navigateur reste sur votre domaine personnalisé

icône
L'application des modifications apportées à Cloudflare peut prendre quelques minutes. Si le centre d'aide ne se charge pas immédiatement, veuillez patienter et actualiser la page.

Articles associés

Cette page a-t-elle été utile ?