Accesso a Node.js su una macchina virtuale Vagrant


4

Sto usando una VM Centos ospitata su OSX usando Vagrant e non riesco a connettermi a Node.js in esecuzione sul computer Centos guest.

Ho installato Nginx e Node.js e ho inoltrato le porte dall'host all'ospite per entrambi.

config.vm.network :forwarded_port, guest: 8080, host: 8080 
config.vm.network :forwarded_port, guest: 8124, host: 8124

Dopo aver avviato Node.js posso accedervi localmente all'interno della macchina virtuale tramite 'wget 127.0.0.1:8124' ma dalla macchina host che non funziona.

Posso accedere all'istanza Nginx sulla porta 8080 dal computer host senza problemi. Anche se sto pianificando di eseguire Node.js sulla porta 8124, interrompere Nginx e quindi eseguire Node.js sulla porta 8080 (che viene sicuramente inoltrata alla VM Centos) continua a non funzionare.

Ho interrotto il servizio Iptables, quindi non pensare che bloccherebbe qualsiasi richiesta.

Cosa devo fare per fare in modo che Node.js accetti le richieste dal computer host quando è in esecuzione nella VM guest di Centos?

Lo script Node che sto eseguendo è https://github.com/guzzle/guzzle/blob/master/tests/Guzzle/Tests/Http/server.js, tuttavia non credo sia pertinente poiché le richieste raggiungono il nodo server.

Risposte:


5

https://github.com/guzzle/guzzle/blob/master/tests/Guzzle/Tests/Http/server.js#L132

Vedere la riga 132. L'app è associata solo all'interfaccia di loopback. Un rapido netstat dovrebbe confermarlo.

$ sudo netstat -ltpn | grep 8124
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:8142            0.0.0.0:*               LISTEN      node

L'output del comando precedente dovrebbe mostrare il processo del nodo sulla porta 8142 associata a 0.0.0.0 e NON a 127.0.0.1

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.