web-dev-qa-db-ja.com

ポート5000を開きますか?

昨日、私はこのherokuコマンドを使用しようとしました:

heroku run db:migrate

そして、しばらく待ってから、タイムアウトになったと言いました

何度も試してみましたが、他のコマンドでも同じ応答が返されたため、私のPC(またはネット?)がポート5000を開いていないことが問題でした。

これを開けてもいいですか? Ubuntuではどうですか?

それが私の提供に関連している場合、私はおそらくこのポートをホワイトリストに登録できることをどこかで読んだ:Ubuntuからこれを行うことはできますか?どうやって?

4

プログラムでポートを開きます。オペレーティングシステムは、そのためのプリミティブを提供します。これは通常、OSレベルで行われ、ポートが接続を受け入れることを許可します。このため、インストールに応じて、ファイアウォールまたはSELinuxを構成する必要があります(これらのいずれかをもたらすUbuntuの標準インストールを見ていませんが)。 @アンドレアは、ポートを開きたい場合、プログラムへの特別な許可は必要ないと指摘しました。繰り返しますが、これはポートでリッスンするプログラム、サーバーです。接続指向のプロトコル(TCP/IPなど)を使用するネットワーク通信には、リスニングサーバーポートと接続クライアントが必要です。 Herokuはわかりませんが、投稿したコマンドの外観から、データベースをある場所から別の場所に移行しようとしていると思います。これは、データを抽出するための接続と書き込むための接続の2つの接続を開くかどうかによって異なります。インターネットから接続を受信する場合は、パブリックIPのポートが必要です。これは、サーバーマシンのポート5000に到達します。正しくインストールされていると思われる場合は、次のコマンドを試してください。

Sudo netstat -tnlp 

次のような出力が得られるはずです。

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      940/sshd   

これは、ポート22でリッスンするSSHサーバーの場合です。5000ポートでも同様のことが必要です。その場合は、内部ネットワークからサーバーのIPに接続して、それをインターネットに開く方法を見つけてください。これを行うには、telnetコマンドを使用します。

$ telnet 192.168.1.1 22
Trying 192.168.1.1...
Connected to 192.168.1.1.
Escape character is '^]'.
SSH-2.0-OpenSSH_5.8p1 Debian-7ubuntu1
^\
Connection closed by foreign Host.

「Connected」という単語が表示されたら、ポートは有効でキックしています:)これはリッスンしているSSHサーバーのサンプルです。herokuの出力は異なるはずです。

2
Awi