Configura l'hosting di subpath con Nginx

Scopri come ospitare il tuo centro assistenza su un sottopercorso come /help utilizzando un proxy inverso Nginx.

3 min di lettura

È possibile utilizzare Nginx per servire il centro assistenza Notiondesk da un sottopercorso del dominio principale.

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

  • yourdomain.com/help
  • yourdomain.com/docs
  • yourdomain.com/support

Questa configurazione è utile se il tuo sito web principale è ospitato su un VPS, un server dedicato o un'infrastruttura in cui Nginx è già utilizzato come server web o proxy inverso.

I visitatori rimangono sul dominio principale, mentre i contenuti del centro assistenza si trovano dietro il sottopercorso selezionato.

Prima di iniziare

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

  • Accesso al server che ospita il tuo sito web principale
  • Accesso alla configurazione di Nginx
  • Un sottopercorso che si desidera utilizzare per il centro assistenza, ad esempio /help, /docs o /support

Dovresti anche sapere quale blocco server di Nginx gestisce il dominio principale del tuo sito web. È qui che dovrai aggiungere la configurazione del reverse proxy Notiondesk.

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 a Settings > General
  1. Scorri fino alla sezione Domains
  1. Abilita l'interruttore Subpath
  1. Salva le modifiche
  1. Copia la configurazione Nginx generata

Notiondesk genera la configurazione con i valori corretti per il tuo centro assistenza, inclusi il dominio del centro assistenza Notiondesk e il sottopercorso selezionato.

Aggiungi la configurazione di Nginx

Successivamente, aggiungi la configurazione Nginx generata alla configurazione del server del tuo sito web.

Apri il file di configurazione di Nginx che gestisce il dominio principale del tuo sito web, quindi individua il blocco server corretto.

Il blocco server dovrebbe essere quello che gestisce il tuo dominio principale, ad esempio:

Incolla i blocchi Notiondesk location generati all'interno di questo blocco server.

La configurazione dovrebbe gestire:

server {
    server_name yourdomain.com;

    # Your existing website configuration
}
  • Il percorso esatto del centro assistenza, ad esempio /help
  • Pagine del centro assistenza annidate, ad esempio /help/
  • Percorsi interni Notiondesk, ad esempio /_nd/

Esempio di reverse proxy Nginx

Ecco un esempio di configurazione del proxy inverso Nginx.

Questo esempio utilizza:

location = /help {
    proxy_pass https://your-help-center.notiondesk.help;
    proxy_ssl_server_name on;
    proxy_ssl_name your-help-center.notiondesk.help;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Site-Path-Prefix /help;
}

location ^~ /help/ {
    proxy_pass https://your-help-center.notiondesk.help;
    proxy_ssl_server_name on;
    proxy_ssl_name your-help-center.notiondesk.help;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Site-Path-Prefix /help;
}

location ^~ /_nd/ {
    proxy_pass https://your-help-center.notiondesk.help;
    proxy_ssl_server_name on;
    proxy_ssl_name your-help-center.notiondesk.help;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-Proto $scheme;
}
  • your-help-center.notiondesk.help come dominio del centro assistenza Notiondesk
  • /help come sottopercorso selezionato

La tua configurazione potrebbe utilizzare valori diversi.

Testa e ricarica Nginx

Dopo aver aggiunto la configurazione, testa la configurazione di Nginx prima di ricaricarla.

Correre:

Se il test ha esito positivo, ricarica Nginx:

A seconda della configurazione del server, il comando di ricaricamento potrebbe essere diverso.

Dopo aver ricaricato Nginx, apri il centro assistenza dal percorso secondario che hai selezionato. Verifica che la pagina principale del centro assistenza si carichi correttamente.

nginx -t
sudo systemctl reload nginx

Articoli correlati

Questa pagina è stata utile?