web-dev-qa-db-ja.com

localhost:8000でリッスンしているが、ip:8000ではないポート

こんにちは、ポート8000​​でWebアプリケーションを実行しています。ホストサーバーlocalhost:8000からアクセスすると、OKと応答します。127.0.0.1:8000も動作しますが、192.168.1.7:8000は動作しません。 192.168.1.7は私のサーバーのIPです。

また、ポート80で実行されている別のWebアプリケーションに移動しようとすると、192.168.1.7で動作します

Ufwファイアウォールを有効にし、ufwのデフォルトの許可を設定しました。私はubuntuサーバー12.04を使用しています

Ip-address:8000を使用してポート8000​​でアプリにアクセスできない理由に関する提案はありますか?

前もって感謝します!

8
Marionette

@JamesHenstridgeが指摘しているように、観察している動作は、Ubuntuが一部のIPでアプリケーションをブロックしているのではなく、アプリケーションがローカルループバックインターフェイス(127.x.x.x)のみに明示的にバインドしているためです。少なくとも、そのポートを特にブロックするようにファイアウォールをインストールしてセットアップしなかった場合。

アプリケーションのドキュメントを参照して、他の(またはすべての)インターフェースでリッスンする設定があるかどうかを確認する必要があります。

5
Sergey

アプリケーションの1つの構成ファイルで、外部externalIP:yourportをリッスンするようにアプリケーションをセットアップする必要があります。これは、127.0.0.1:xxxxまたはlocalhost:xxxxのいずれかをリッスンするようにアプリケーションに指示するディレクティブを見つけることができる構成ファイルがあることを意味します。これは、内部IP(例:192.168.1.40)または外部IPで変更するIPです

場合によっては、localhost IPを0.0.0.0:xxxxに置き換える必要があります。これは、アプリケーションが任意のIPからの要求に応答する必要があることを意味します。

Iptablesは、内部IPから外部IPにパケットを転送するのにも役立ちます。

0