2016-04-21 13 views
5

Ho installato uno stack MEAN su Google Cloud Engine (GCE) tramite questo link.Come accedere all'indirizzo IP dell'istanza di Google Cloud Engine tramite il browser

Così il motore creato il mio esempio con successo e sembra che questo:? instance's info on GCE

ho creato una nuova regola firewall per accettare eventuali richieste in arrivo (in realtà ho bisogno di fare questo default-allow-http ha il stessa regola vero?): enter image description here

Ma quando provo ad accedere all'IP utilizzando Chrome, ottengo un errore. L'errore persiste anche quando cambio il browser, ad es. IE o Firefox:

enter image description here

mi hanno confermato che posso eseguire il ping dell'indirizzo: enter image description here

Ho anche cercato di assegnare un nome di dominio per l'istanza, ma ancora non funziona: enter image description here

Posso sapere cosa sto facendo male?

Gradirei qualche consiglio! Grazie in anticipo!

+0

stati in grado di risolvere questo problema? In tal caso, si prega di pubblicare la risposta in modo che la comunità possa trarne beneficio. Di seguito sono riportati alcuni suggerimenti per la risoluzione dei problemi che fanno riferimento anche alle altre anwser: a) SSH nel server e verificare che sia in ascolto su quella porta. Ad esempio "netstat -tulpn". b) Verificare che non vi sia alcun firewall nelle connessioni di blocco della VM (ad es. Iptables). c) Aggiungere una regola in Google Firewall ("default-allow-http" funzionerà per la porta 80 ma il server deve ancora essere etichettato). – Carlos

risposta

-1

L'errore è CONNECTION_RESET. La mia ipotesi è che lo stack MEAN non sia in ascolto sulla porta 80.

+0

Come posso verificare se lo stack MEAN è in ascolto sulla porta 80? Come posso istruirlo? – jasonC

+0

Un modo semplice è quello di ssh sulla VM e '' curl http: //127.0.0.1: 80''. – Dagang

0

Più esplicitamente - Il lavoro del firewall è semplicemente quello di intercettare le connessioni in ingresso non consentite e rilasciarle silenziosamente.

In questo caso, si: (a) vedere le risposte ping dall'indirizzo IP pubblico della VM, indicando che ICMP non è bloccato dal firewall. (b) vedere un pacchetto RST TCP inviato dalla VM in risposta al pacchetto TCP SYN inviato dal browser durante il tentativo di connessione a un server TCP sulla VM. Ciò indica che i pacchetti indirizzati alla porta TCP 80 vengono anche passati dal firewall, come previsto.

Quello che manca qui è un'applicazione server sul tuo VM che ascolta le connessioni sulla porta 80, riceve richieste HTTP e risponde. Potresti provare a eseguire, ad esempio, Apache (o Nginx, che è ancora più semplice da configurare).

In risposta alla tua domanda di altri - non c'è bisogno il secondo tcp: regola 80 del firewall - ma se si desidera che la regola di default http per consentire i pacchetti per il vostro VM, è necessario un tag al tuo VM etichettato "http-server".

+0

Infatti, per verificare che il firewall blocchi correttamente le connessioni TCP su qualsiasi altra porta della VM, prova a digitare "http://104.154.39.199:8080" nel tuo browser. In questo caso (a meno che non si modifichi la voce del firewall per consentire la porta 8080) si dovrebbe ottenere un timeout della connessione. Se _add_ porta 8080 (senza un server di ascolto), otterrai un RST. GCE è un po 'diverso da AppEngine in quanto un server web non viene automaticamente impostato sulla tua VM, ma è più flessibile in quanto hai il pieno controllo su ciò che viene eseguito. Tuttavia, l'installazione e l'installazione di Nginx sono piuttosto semplici, quindi prova! – Kevin

1

L'app stack MEAN è in esecuzione con Express sulla porta 3000 (indirizzo predefinito) solo sull'indirizzo localhost per motivi di sicurezza. Per promuovere l'applicazione per essere visibile su internet (sulla porta 80), basta creare una clausola reverse proxy su apache (o nginx o ...).

sudo nano /opt/bitnami/apache2/conf/bitnami/bitnami-apps-vhosts.conf

aggiungere questa dichiarazione come questa: ProxyPass http://localhost:3000 ProxyPassReverse http://localhost:3000

sudo/opt/BitNami/ctlscript.sh riavvio apache

se app è lauched sull'istanza è possibile aprirlo usando http://address_of_VMInstance/yourapp

Problemi correlati