Доступ до Node.js на Vagrant VM


4

Я використовую Centos VM, розміщений на OSX за допомогою Vagrant, і, здається, не підключається до Node.js, що працює на машині гостьових Centos.

Я встановив і Nginx і Node.js і перенаправляв порти від хоста до гостя для них обох.

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

Після запуску Node.js я можу отримати доступ до неї локально у віртуальній машині за допомогою 'wget 127.0.0.1:8124', але з хост-машини, яка не працює.

Я можу отримати доступ до екземпляра Nginx на порту 8080 від хост-машини без проблем. Хоча я планую запустити Node.js на порт 8124, зупинивши Nginx, а потім запустивши Node.js на порт 8080 (який, безумовно, пересилається на Centos VM), все ще не працює.

Я зупинив службу Iptables, так що не думаю, що буде блокувати будь-які запити.

Що потрібно зробити, щоб Node.js приймав запити від хост-машини, коли воно працює в VMS гостя Centos?

Сценарій Node, який я запускаю, - це https://github.com/guzzle/guzzle/blob/master/tests/Guzzle/Tests/Http/server.js але я не думаю, що це є актуальним, оскільки запити доходять до сервера вузлів.

Відповіді:


5

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

Див. Рядок 132. Ваша програма пов'язана тільки з інтерфейсом loopback. Швидкий netstat повинен підтвердити це.

$ 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

Вихідні дані з команди вище повинні показувати процес вузла на порту 8142, пов'язаному з 0.0.0.0 і НЕ до 127.0.0.1

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.