Configura l'hosting di subpath con Cloudflare

Scopri come ospitare il tuo centro assistenza su un percorso secondario utilizzando un Cloudflare Worker.

3 min di lettura

Puoi ospitare il tuo centro assistenza Notiondesk su un sottopercorso del tuo dominio principale utilizzando Cloudflare Workers .

Ad esempio, invece di utilizzare un sottodominio come help.yourdomain.com, puoi rendere disponibile il tuo centro assistenza da:

Questa configurazione è utile quando il tuo sito web principale utilizza già Cloudflare e desideri che la documentazione o i contenuti di supporto rimangano sullo stesso dominio.

Prima di iniziare

Prima di configurare l'hosting di subpath con Cloudflare, assicurati di avere:

yourdomain.com/help

yourdomain.com/docs

yourdomain.com/support


  • Un centro assistenza esistente Notiondesk
  • Un dominio gestito tramite Cloudflare
  • Un sottopercorso che desideri utilizzare per il tuo centro assistenza, ad esempio:
    • __PRESERVATO_13__
    • __PRESERVATO_12__
    • __PRESERVATO_11__
  • Hosting di sottocartelle abilitato in Notiondesk

icona
Nota: questa configurazione è consigliata se il dominio principale del tuo sito web utilizza già Cloudflare. Se il tuo sito web è ospitato su un altro provider, potresti voler utilizzare una delle altre guide per l'hosting di sottodomini .

Abilita l'hosting di sottopercorsi in Notiondesk

Innanzitutto, abilita l'hosting dei subpath dalla tua dashboard Notiondesk.

  1. Apri la tua dashboard Notiondesk.
  1. Vai su Impostazioni > Generali
  1. Scorri verso il basso fino alla sezione Domini
  1. Abilita l'interruttore Subpath
  1. Seleziona Cloudflare come provider di configurazione
  1. Copia il codice Cloudflare Worker generato da Notiondesk

Notiondesk genera automaticamente il codice Cloudflare Worker con i valori corretti per il tuo centro assistenza.

È consigliabile copiare il codice direttamente dalla propria dashboard, poiché contiene valori specifici per la propria configurazione, come ad esempio:

  • Il tuo host di origine Notiondesk
  • Il tuo dominio personalizzato
  • Il sottopercorso selezionato

Crea un Cloudflare Worker

Successivamente, crea un Cloudflare Worker che fungerà da proxy per il sottopercorso del tuo centro assistenza, indirizzandolo a Notiondesk.

  1. Apri la dashboard di Cloudflare
  1. Vai a Lavoratori e pagine
  1. Fare clic su Crea applicazione
  1. Seleziona il lavoratore
  1. Crea un nuovo lavoratore
  1. Apri l'editor Worker
  1. Sostituisci il codice predefinito con il codice generato da Notiondesk
  1. Fai clic su Salva e distribuisci

Dopo aver distribuito il Worker, Cloudflare lo renderà disponibile, ma non sarà ancora in esecuzione all'URL del tuo centro assistenza. Devi configurare un percorso in modo che Cloudflare sappia quando attivare il Worker.

Configura il percorso Cloudflare

Dopo aver distribuito il Worker, è necessario indicare a Cloudflare quando questo deve essere eseguito. Il Worker deve essere eseguito solo sul sottopercorso del centro assistenza selezionato.

Ad esempio, se il tuo centro assistenza deve essere disponibile all'indirizzo yourdomain.com/help, aggiungi un percorso Worker come questo yourdomain.com/help*

Questo fa sì che Cloudflare esegua il Worker per:

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

Devi inoltre assicurarti che venga gestito il percorso interno Notiondesk: yourdomain.com/_nd/*

Aggiungi il percorso in Cloudflare

  1. Apri il tuo Worker nella dashboard di Cloudflare
  1. Vai alle Impostazioni
  1. Domini e percorsi aperti
  1. Fai clic su Aggiungi percorso
  1. Seleziona la tua zona
  1. Aggiungi il percorso del tuo centro assistenza, ad esempio : yourdomain.com/help*
  1. Aggiungi il percorso interno Notiondesk, ad esempio: yourdomain.com/_nd/*
  1. Salva le modifiche

icon
Utilizza il sottopercorso selezionato in Notiondesk. Se hai scelto , il tuo percorso dovrebbe essere ./docsyourdomain.com/docs*

Se hai scelto /support, il tuo percorso dovrebbe essere yourdomain.com/support*.

La documentazione ufficiale di Cloudflare spiega anche come funzionano le route Worker e i domini personalizzati per i Worker, qualora aveste bisogno di maggiori dettagli.

Esempio di 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);
  },
};
icona
Questo è solo un esempio. Utilizza il codice Worker generato nella tua dashboard Notiondesk per il tuo centro assistenza.

Verifica la tua configurazione

Dopo aver distribuito il Worker e configurato i percorsi, apri il centro assistenza dal sottopercorso selezionato. Verifica che la pagina principale del centro assistenza si carichi correttamente.

Cosa controllare

Assicurati che:

  • Il centro assistenza viene caricato sotto il tuo dominio principale
  • Le pagine degli articoli si aprono correttamente
  • Immagini, script e stili vengono caricati correttamente
  • L'URL del browser rimane sul tuo dominio personalizzato

icona
L'applicazione delle modifiche di Cloudflare potrebbe richiedere alcuni minuti. Se il centro assistenza non si carica immediatamente, attendi qualche istante e aggiorna la pagina.

Articoli correlati

Questa pagina è stata utile?