it-swarm-ja.com

VagrantでNode.jsにアクセスするVM

Vagrantを使用してOSXでホストされているCentos VMを使用していますが、ゲストCentosマシンで実行されているNode.jsに接続できないようです。

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」によって仮想マシン内でローカルにアクセスできますが、機能しないホストマシンからアクセスできます。

ホストマシンからポート8080のNginxインスタンスに問題なくアクセスできます。 Node.jsをポート8124で実行することを計画していますが、Nginxを停止してから、ポート8080(Centos VMに確実に転送されている)でNode.jsを実行しても機能しません。

Iptablesサービスを停止したので、リクエストがブロックされるとは思わないでください。

CentosゲストVMで実行されているときにNode.jsがホストマシンからの要求を受け入れるようにするには、何をする必要がありますか?

私が実行しているNodeスクリプトは https://github.com/guzzle/guzzle/blob/master/tests/Guzzle/Tests/Http/server.js =ただし、リクエストがノードサーバーに到達しているため、これは関係ないと思います。

4
Danack

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

132行目を参照してください。アプリはループバックインターフェイスのみにバインドされています。簡単な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

上記のコマンドからの出力は、127.0.0.1ではなく0.0.0.0にバインドされたポート8142のノードプロセスを示しているはずです。

5
kashyap