Configurare Caddy e Cloudflare per Discourse

Ciao a tutti,

Ho configurato Discourse su community.website.com e WordPress su website.com. Sto usando Caddy come reverse proxy con Let’s Encrypt che gestisce SSL. Dopo alcuni ostacoli iniziali, ho fatto funzionare tutto senza problemi, inclusi SSL e reindirizzamenti. Ho scelto questa configurazione dopo numerosi tentativi falliti di far funzionare il reverse proxy in altri modi. Il problema di fondo per me era la mancanza di esperienza pregressa con Docker o Discourse.

Capisco anche che ci possono essere problemi con la cache e Discourse, quindi forse meno è meglio o alcune regole per evitare problemi.

Configurazione attuale:

  • Discourse: In esecuzione tramite Docker su community.website.com.
  • WordPress: Installato su website.com.
  • Caddy: Gestisce il reverse proxy e SSL Let’s Encrypt.
  • Cloudflare: Configurazione per DNS, firewall e CDN.

La sfida:

Quando si utilizza Cloudflare DNS senza proxy (solo per DNS), tutto funziona perfettamente: Caddy gestisce SSL Let’s Encrypt e non ci sono problemi.

Tuttavia, quando si passa a Cloudflare DNS con proxy abilitato, la connessione fallisce con un errore “Sito non disponibile” da Cloudflare. Ho aggiornato il mio Caddyfile per utilizzare http:// sia per il dominio principale che per i sottodomini e ho provato diverse configurazioni SSL in Cloudflare (Flexible, Full e Full Strict), ma non sono riuscito a stabilire una connessione.

La domanda è come dovrei configurare questo in modo che Caddy, Cloudflare con SSL funzioni bene con Discourse?

Qualsiasi suggerimento è apprezzato!

Se stai utilizzando i servizi CDN e di sicurezza di Cloudflare, non è necessario configurare il tuo certificato SSL sul tuo server di origine. Invece, naviga nelle impostazioni SSL/TLS all’interno della tua dashboard Cloudflare e crea un “Certificato di origine”. Questo certificato proteggerà il traffico in proxy dal tuo server di origine a Cloudflare. Installa questo Certificato di origine sul tuo server di origine e tutto sarà operativo.

2 Mi Piace

Stai eseguendo Caddy e Wordpress sulla macchina host o come container Docker?

1 Mi Piace

Grazie @shannon1024! Prima volta per quella ma bella e fluida e ora funziona.

1 Mi Piace

Eseguito su Docker. Creata una directory nella directory di Discourse per i certificati. Sono rimasto sorpreso che abbia funzionato al primo tentativo :smile:

1 Mi Piace

Passaggio 5: Configura Discourse per utilizzare il certificato SSL

  1. Modifica la configurazione NGINX di Discourse per utilizzare il certificato SSL. In genere, questo file si trova in /etc/nginx/conf.d/discourse.conf o nella directory /var/discourse/containers/ se si utilizza Docker.

  2. Modifica o aggiungi le seguenti righe al blocco server:

https://developer.tenten.co/discourse-with-cloudflare-ssl

Sto cercando di configurare il server di origine CF e sono bloccato in questa fase per la posizione del file discourse.conf in modo da poter apportare le modifiche necessarie, dove si trova normalmente?

Le istruzioni non sono del tutto corrette per quanto ne so perché non ho trovato nulla in queste posizioni.

Grazie in anticipo per qualsiasi assistenza.