2017-10-20 16 views
2
var express = require('express'); 
var bodyParser = require('body-parser'); 
var path = require('path'); 

var app = express(); 

app.listen(3000, function(){ 
     console.log('Server up on Port 3000'); 
}); 

を経由して接続することはできません私はここで他のソリューションを検索してみましたが、私はまだ仮想UbuntuのVMがnodejs、外部IP

それを把握することはできません私はGoogleでのubuntuを持っていますクラウドコンピューティングエンジン(VM)と私は自分のラップトップ上のインターネットからアクセスしようとしている。私はnodejs/npm/expressを使用しています。

は、上記の私が使用してVM

ための外部IPがVM

nodejs index.js 

35.188.226.109にされて、次のことを起動したときに私のindex.jsファイル(非常に基本的な)とありますクロムでhttp://35.188.226.109:3000/にナビゲートすると、そのサイトには到達できないと言われています。

私には何が欠けていますか?

+0

ファイアウォールからポートを開く必要があります。デフォルトのネットワークを確認して、新しいファイアウォールルールを追加して、すべてのipsからのポートtcp:3000を許可し、正常に動作するはずです。 –

+0

ゲートウェイにルールを追加しましたが、違いはありません。 Googleクラウドでファイアウォールを変更することを意味しますか? –

+0

はい。 https://console.cloud.google.com/networking/firewalls/listにアクセスし、インスタンスにトラフィックを許可する新しいファイアウォールルールを追加します。 –

答えて

0

GCPでVMを起動すると、デフォルトのネットワークに接続されます。そのデフォルトネットワークは最も安全な設定であり、SSH以外のポートを除くすべてのポートでファイアウォールベースのポートブロッキングを行います。

外部アプリケーションがVMと通信できるようにするには、ファイアウォールからポートを有効にして、マシンへのアクセスを有効にする必要があります。

ファイアウォールの設定はhereです。

新しいファイアウォールルールを追加して、すべてのIPからポート3000を許可します。これはベストプラクティスではないことに注意してください。ポート転送、プロキシなどを使用してください。

関連する問題