Discussione sul problema della porta di Google Cloud?

Ciao a tutti! Ho provato un paio di volte a far funzionare Discourse su Google Cloud. Attualmente sono al terzo tentativo con la creazione di un’istanza VM (Ubuntu 18.04 minimal) e l’installazione manuale di Discourse tramite terminale. Seguendo la guida, tutto sembra andare bene, ma dopo aver completato ./discourse-setup, non riesco ad accedere al sito.

Ho anche provato a installare Discourse con le soluzioni di distribuzione “One-click” del Marketplace di Google (quella ufficiale di Google e quella di Bitnami). In questo modo, sono riuscito ad accedere alla pagina di atterraggio di Discourse.

Sospetto che ci sia qualche problema con Google e le porte (e che questo problema sia stato evitato con le installazioni pronte all’uso), ma so troppo poco su tutto questo per debuggarlo da solo. Avete qualche idea?

2 Mi Piace

Potrebbe essere correlato al firewall?
Secondo la mia comprensione, G Cloud richiede di selezionare due caselle di controllo per consentire l’accesso pubblico a una VM. La stessa configurazione può essere effettuata in un secondo momento, se necessario.

3 Mi Piace

Ehi Bhanu, grazie per il suggerimento!

Quelle caselle sono già spuntate!

Ancora non funziona. Sto provando a fare il ping al sito, sembra tutto ok:

Connettendomi via SSH al sito ed eseguendo netstat per verificare le porte, ottengo questo:
ports
Ma non sono molto familiare con netstat.

1 Mi Piace

Sto iniziando a pensare che forse non sto eseguendo un server web? Devo installare Nginx prima o dopo Discourse, o qualcosa del genere? Seguendo un ragionamento da questo thread, identico al mio problema.

Ok, sto iniziando a pensare che questo sia il problema. Sembrava che Nginx fosse installato, ma non era in esecuzione. Ho terminato i PID 14311 e 14295 di docker-proxy, poi ho avviato Nginx. Ora Nginx è associato alla porta 80 e quando accedo al mio sito, sono accolto da Nginx!
Ora devo far ripartire Docker/Discourse.

Ho anche trovato questa guida sull’installazione di Discourse/Nginx su una versione più vecchia di Ubuntu. Sembra che abbiano cambiato la porta per Docker, dalla porta 80 per qualche motivo. Forse c’è qualche conflitto qui.

In qualche modo sono riuscito ad avere sia Nginx in esecuzione sulla porta 80, sia docker-proxy in ascolto sulle porte 8060 per HTTP e 9443 per HTTPS (come suggerito da un altro tutorial). Ma dopo aver raggiunto questo risultato, ora sono di nuovo perso. Discourse sembra un forum così bello, ma apparentemente impossibile da installare su Google Cloud per principianti come me.

2 Mi Piace

Non è necessario eseguire un server web dedicato a meno che non si intenda utilizzare il server per scopi diversi dall’hosting di Discourse, dato che Discourse include già un server nginx integrato. Potresti confermare che il tuo server abbia un indirizzo IP pubblico e che sia configurato per consentire connessioni esterne alle porte 22, 80 e 443?

Vedi: VPC firewall rules  |  Cloud Next Generation Firewall  |  Google Cloud Documentation

2 Mi Piace

Sì. La mia istanza VM su Google ha un indirizzo IP pubblico e consente il traffico sulle porte 22, 80 e 443.

Penso che questo sia stato dimostrato anche quando ho terminato i processi PIDs di docker-proxy (sulle porte 80 e 443), ho avviato Nginx (sulla porta 80) e sono riuscito ad accedere alla pagina di atterraggio di Nginx sul mio sito.

1 Mi Piace

Quindi indica che c’è qualcosa di sbagliato nell’installazione stessa. Se si tratta di un’installazione nuova, è probabilmente più semplice distruggere la VM e configurarla di nuovo.

2 Mi Piace

L’ho effettivamente installato già tre volte, e ogni volta le porte risultano non assegnate. Ho completato tre installazioni riuscite, ma non sono mai riuscito ad accedere al forum. Quindi sto valutando di usare semplicemente la versione di Google (che funziona, ma non mi permette di configurare SMTP) e poi trovare un modo per impostare SMTP partendo dalla versione di Google.

1 Mi Piace

Posso configurare SMTP dopo aver completato l’installazione?
Seguendo il “Passo 11” in questo link, ho potuto [creare, se non esisteva, e] modificare il file discourse.conf. Dopo averlo fatto, sembrerebbe che potessi riavviare il “servizio discourse” e testare le mie impostazioni di posta elettronica?

Quindi significa che non devo reinstallare Discourse, corretto?

Guardando i servizi in esecuzione, tuttavia, non vedo nulla chiamato “discourse”, anche se il mio forum Discourse è ovviamente attivo e funzionante.


Discourse non dovrebbe essere visibile qui? C’è qualche altro servizio qui che potrei riavviare, che a sua volta riavvierà il servizio Discourse?

2 Mi Piace

Mi dispiace, non ho la minima idea di come sia configurata l’immagine di Google Cloud. Ho eseguito più di una dozzina di installazioni (inclusa una la settimana scorsa) e sono abbastanza sicuro che il problema sia legato al modo in cui è configurata la tua VM.

Questi sono i passaggi di preparazione che eseguo prima di seguire la guida ufficiale di installazione:

  1. Configurare Compute Engine per consentire il traffico HTTP e HTTPS.
  2. Configurare il DNS e verificarne il corretto funzionamento.
  3. Assicurarsi della connettività alla propria VM tramite SSH.

Posso garantire che il processo funziona.

PS: In genere utilizzo la versione minimal di Ubuntu su Google Cloud per installare Discourse.

1 Mi Piace

Non hai seguito l’installazione standard ufficiale di Discourse?

1 Mi Piace

Mmh, strano. Ma grazie per aver confermato che è effettivamente possibile su Google Cloud. Penso anche che l’installazione di Discourse vada bene, e che il problema sia la VM o le porte. Domani farò un quarto tentativo, anche se ho eseguito questi passaggi di preparazione ogni volta. Grazie, Bhanu.

@pfaffman Sì, l’ho fatto.

2 Mi Piace

Inoltre, non è davvero il “Computer Engine” verso cui consenti il traffico HTTP/HTTPS, giusto? È l’“istanza VM”?

1 Mi Piace

Compute Engine è il termine usato da Google per indicare una VM, se non sbaglio

1 Mi Piace

Discourse-setup controlla le porte quando lo esegui. Questi test stanno passando?

2 Mi Piace

Ci guardo subito. Ho appena rimosso le vecchie istanze e il progetto, e ho avviato un nuovo progetto e una nuova istanza su Google Cloud. Ora proverò a installare Discourse e vi farò sapere quali porte ho controllato!

2 Mi Piace

Ok, quindi qualche giorno dopo. Funziona!

Ho ripetuto lo stesso processo un’altra volta, ma questa volta sono stato più attento a ogni passaggio.
Ho eliminato la mia istanza e il progetto su Google Cloud e ho iniziato con un nuovo progetto.

Ho quindi creato un nuovo progetto e una nuova istanza: Ubuntu 18.04 LTS minimal. HTTP/HTTPS abilitati. Prima di seguire la guida ufficiale, linkata sopra, ho fatto come ha detto Bhanu e ho testato la connettività. Ho seguito il “tutorial di benvenuto” di Google Cloud, che include anche la prova di uno script server Python sulla porta 80, ecc.

Durante il processo della “guida ufficiale”, sono stato molto attento nella configurazione di SMTP. Per qualche motivo ho deciso di non usare Mailgun, ma ho finito per usare Sendinblue. Funziona benissimo!

Non so davvero qual è stata la differenza questa volta, ma ora funziona. Grazie per aver discusso con me nel thread!

6 Mi Piace

Non so perché non riesco a modificare il mio post precedente, ma il moderatore potrebbe unirli.
Volevo solo aggiungere che penso che il mio problema e la soluzione POTREBBERO essere stati che ero troppo frettoloso.

A causa dell’installazione di un plugin difettoso, ho recentemente dovuto reinstallare da zero la mia istanza di Discourse. Quando ho avviato questa nuova istanza, ho ottenuto un nuovo IP. Quindi sono andato al mio servizio di hosting, ho aggiornato il mio puntatore A/DNS, che punta il mio sottodominio discourse.mydomain.com all’IP della mia istanza Google Cloud, e poi sono tornato alla mia SSH di Google Cloud per eseguire la configurazione.

Quando esegui ./discourse-setup per la prima volta, la configurazione verifica la possibilità di collegarsi alle porte 80 e 443. Ma per qualche motivo, ha nuovamente rifiutato di collegarsi alle porte 80 e 443. Ho consultato il DNS tramite who.is e il sottodominio si è risolto correttamente nell’IP e così via, ma non ha funzionato lo stesso. Ho provato a eseguire ./discourse-setup 3 volte, senza successo. Ho controllato con netstat -ltnpu, niente di particolare. Ho aspettato altri 5 minuti, l’ho eseguito una quarta volta e ora funziona.

2 Mi Piace

Non riesco a modificare il mio post precedente. In realtà ho avuto problemi durante la reinstallazione. Questa volta ho anche aggiunto le seguenti autorizzazioni nel mio firewall:

Probabilmente l’SMTP non è necessario, ma le regole “Egress” per le porte 80 e 443 sembrano esserlo state.

1 Mi Piace

Penso che non sia necessario configurare alcuna regola in uscita, poiché tutte le porte sono aperte per impostazione predefinita, tranne la porta 25 che è sempre bloccata.

3 Mi Piace