Installazione di Docker non funziona con proxy Cloudflare

Ho configurato un’istanza Amazon EC2 per ospitare Discourse e tutto sembra procedere bene, finché non inserisco tutte le informazioni nello script di installazione e lo eseguo. Dopo di ciò, l’immagine Docker di Discourse dovrebbe essere operativa sulla porta 80.

Ma ciò non accade.

Non ho idea del perché. Una cosa che sono riuscito a diagnosticare è che se arresto il contenitore Docker e poi lo riavvio, quando accedo all’indirizzo IP della mia istanza EC2, visualizzo la schermata predefinita del server nginx. Tuttavia, dopo pochi secondi, anche questo si interrompe.

Ho utilizzato l’installazione Docker come raccomandato.

Quando navighio sul nome di dominio, non succede nulla. Quando navighio sull’indirizzo IP, non succede nulla.

È in esecuzione sulla porta 80.

Quando arresto il contenitore Docker e lo riavvio, come menzionato sopra, riesco a visualizzare la pagina predefinita di nginx “funziona correttamente”. Dopo pochi secondi, però, torna a non funzionare.

Cosa sta succedendo? È estremamente frustrante.

Come posso visualizzare i log degli errori per questo?

Che distribuzione stai utilizzando? Un server Ubuntu standard non include nginx, quindi a meno che non lo abbia installato manualmente, non dovresti mai vedere questa pagina.

Se hai nginx in esecuzione sull’host, questo interferirà effettivamente con l’installazione e ne causerà un comportamento errato.

Ciao Rafael, grazie per la risposta.

Penso di aver modificato il file /etc/hosts per aggirare il problema reale, che era in realtà il fatto che l’installer segnalava che le porte 443 e 80 non erano accessibili con il nome host che sto usando.

Ho deciso di disinstallare e ricominciare da capo, ed ecco cosa sta succedendo di nuovo. Quindi, perché non dimentichiamo tutto quello che ho detto sopra e ricominciamo da zero?

Perché non riesce ad accedere alle porte 443 e 80?

Ho configurato il gruppo di sicurezza EC2 per consentire tutto il traffico HTTP e HTTPS in entrata, quindi sono un po’ confuso in questo momento.

L’installazione standard non utilizza nginx installato sul sistema e, se hai nginx installato sull’host, Discourse non avrà accesso alle porte 80 e 443. Installando nginx sul sistema, hai impedito a Discourse di funzionare nella sua configurazione standard.

Questo non c’entra nulla con Amazon. È solo amministrazione di sistema Linux.

(Può essere appropriato avere nginx installato sul sistema per Setting up offline page, ma ciò richiede di capire come funzionano le porte su Linux. :smiling_face: Quindi non iniziare da lì se la situazione attuale non ha senso per te!)

1 Mi Piace

Come ho detto, ignorate quello.

L’ho capito.

Risulta che non si può permettere a Cloudflare di fare da proxy per il vostro sottodominio Discourse: dovete cliccare sulla nuvola arancione nel record A del sottodominio per impostarlo su grigio, cioè solo DNS. A quel punto, l’installazione di Discourse non dovrebbe avere problemi a raggiungere le porte appropriate.

Grazie!

1 Mi Piace