Sto cercando di configurare Discourse Docker sul mio server esistente. Non ho altri container Docker in esecuzione.
Il mio server esegue Apache (siti WordPress) e alcuni altri servizi web.
Non riesco a capire come reindirizzare il mio sottodominio ‘forum.rebelscience.club’ al mio container Docker.
Quando mi viene chiesto:
Hostname per il tuo Discourse? [discourse.example.com]: forum.rebelscience.club
Vedo quanto segue:
Verifica del nome di dominio . . .
ATTENZIONE: La porta 443 del computer non sembra essere accessibile utilizzando l'hostname: forum.rebelscience.club.
ATTENZIONE: Anche la connessione a http://forum.rebelscience.club (porta 80) fallisce.
Ciò suggerisce che forum.rebelscience.club risolve un indirizzo IP che non raggiunge questa
macchina su cui stai installando Discourse.
La prima cosa da fare è confermare che forum.rebelscience.club risolve l'indirizzo IP di questo server.
Di solito si fa questo nello stesso luogo in cui è stato acquistato il dominio.
Se sei sicuro che l'indirizzo IP risolva correttamente, potrebbe essere un problema del firewall.
Una ricerca sul web per "apri porte IL TUO SERVIZIO CLOUD" potrebbe aiutare.
Questo strumento è progettato solo per le installazioni più standard. Se non riesci a risolvere
il problema sopra, dovrai modificare manualmente containers/app.yml e poi digitare
./launcher rebuild app
Non sono sicuro di come impostare tutto ciò. Le porte 80/443 sono disponibili, ma sono puntate al mio dominio principale, non al mio sottodominio.
Questo argomento è stato discusso ampiamente qui su meta; puoi cercare su meta “apache reverse proxy” e trovare numerosi argomenti completi e molto dettagliati.
In sintesi, devi configurare il tuo virtual host del server Apache per funzionare come reverse proxy verso Discourse.
Le configurazioni esatte di Apache2 per questa impostazione sono state pubblicate su meta diverse volte.
Scusa, avrei dovuto menzionare che ho consultato e provato alcune soluzioni da questo forum e anche da Digital Ocean. Ma non riesco ancora a farla funzionare. Non ho mai configurato Docker prima d’ora.
Lascia che ti condivida le mie impostazioni attuali:
/ets/hosts:
127.0.0.1 forum.rebelscience.club
Il file hosts e il record DNS funzionano, dato che oggi avevo phpBB in esecuzione lì. Ora sto cercando di indirizzarlo verso un contenitore Docker con Discourse.
Credo che tu debba avere un virtualhost sulla porta 443; detto questo, l’errore sulla porta 80 è strano. Forse ti manca qualcosa (un CNAME?) nel tuo DNS?
Nel caso (configurazione di esempio) sopra, dovresti esporre solo la porta 8081 su Docker (e non la porta 80 o la porta 443).
Le porte 80 e 443 sono esposte dal reverse proxy all’esterno del contenitore e quel traffico viene inoltrato alla porta 8081 (nel tuo esempio sopra), la porta che hai esposto all’interno (mappata sulla 80 all’interno).
Questo funzionerà solo se hai mappato la porta 80 all’interno del contenitore sulla porta 8081 (esposta all’host).
expose:
- "8081:80" # http
Spero che questo ti aiuti.
PS: @rebelCoder, la tua configurazione apache2 lato SSL manca di molte informazioni di configurazione necessarie.