So che è consigliabile eseguire Discourse su un server dedicato, ma sto gestendo questo progetto con le mie risorse e, in sostanza, è un hobby con poche prospettive o intenzioni di monetizzazione nel breve termine, almeno per ora.
Stavo quindi pensando che, invece di acquistare un altro VPS, potrei richiedere un secondo indirizzo IP ed eseguire WordPress su un server virtuale Apache basato su IP, il che aiuterebbe a mantenere bassi i costi.
Se hai familiarità con la configurazione del reverse proxy, non hai bisogno del secondo IP.
Puoi eseguire sia Discourse che Wordpress in ascolto su socket Unix (o su porte più elevate) e utilizzare un software reverse proxy davanti (consiglio Caddy) per servire sullo stesso IP sia blog.example.com che forum.example.com.
Detto questo, se non hai familiarità con questo tipo di configurazione, eseguire ciascuno su un proprio VPS è molto più semplice, poiché puoi seguire la vasta documentazione disponibile per ciascuno.
Quella configurazione che consigli può funzionare senza problemi?
Ho fatto una prova con HAProxy quando stavo iniziando a usare Discourse. Ero un po’ un principiante e lo sono ancora per quanto riguarda server e cose simili, ma ho comunque provato e nel frattempo ho imparato qualcosa su HAProxy. Se ricordo bene, ci sono stati problemi con SSL e il comportamento di Discourse era un po’ instabile, ma immagino di aver fatto qualcosa di sbagliato.
Quindi la mia domanda è: è possibile realizzare la configurazione che consigli senza instabilità e problemi “strani”, senza richiedere un’enorme quantità di ottimizzazioni?
Ricordo che quando ho eseguito le mie prove ho seguito la guida di Apache. Non è chiaro dall’articolo se SSL debba essere disabilitato al momento della ricostruzione di Discourse (e se la disabilitazione si ottenga semplicemente non inserendo un indirizzo email per Let’s Encrypt), e quali porte debbano essere “esposte” in discourse/app.yml (la guida mostra solo come dovrebbe apparire la riga…
“8888:80” # inoltra la porta host 8888 alla porta del container 80 (http)
… ma non dice nulla della riga immediatamente successiva nel file app.yml (quella che di default appare così…
“443:443” # https
… dovrebbe apparire).
PS: Mentre esaminavo il file app.yml per scrivere quel post, ho notato che sono presenti le seguenti righe:
##Scommenta queste due righe se desideri aggiungere Let’s Encrypt (https)
“templates/web.ssl.template.yml”
“templates/web.letsencrypt.ssl.template.yml”
… tuttavia, al momento, la mia istanza di Discourse è in esecuzione con SSL abilitato ma con queste righe scommentate. Quanto è cruciale commentare queste righe per la mia configurazione attuale (senza proxy) o per la configurazione desiderata (con proxy e apache-wordpress)?
Se non hai familiarità con i reverse proxy e puoi ottenere facilmente un secondo indirizzo IP, questa non è una soluzione sbagliata. Procedi in questo modo:
Grazie, ha funzionato per me. Il mio provider VPS offre “IP flottanti” economici, oltre all’IP principale configurato sul VPS. Questa soluzione è molto elegante per me. Dovrebbe essere meglio documentata, dato che è così semplice.
So che questo è un argomento più vecchio, ma volevo ringraziarvi, questo potrebbe farmi risparmiare giorni di lavoro su un problema simile con cui ho avuto a che fare. Grazie per aver condiviso queste informazioni inestimabili con tutti!!