web-dev-qa-db-ja.com

桟橋サーバーをLANからアクセス可能にする方法は?

192.168.0.6:8080(AのIP)を使用してLAN上の別のマシン(B)からWebアプリ(私のマシン(A)のjetty8にデプロイされている)にアクセスしようとしていますが、機能しません。通常は192.168.0.5(BのIP)を使用して、AからマシンBのAppServでホストされているアプリにアクセスできます。

マシンAのlocalhost:8080で通常どおりアプリにアクセスできます。

ネットワークに問題はないことは確かですが、何らかの理由で桟橋にネットワーク経由でアクセスできません。 LAN経由でアクセスできるようにするための特定の構成はありますか?

私のアプリはMavenプロジェクトであり、Eclipseから実行し、設定はweb.xmlとpom.xmlの両方にあります。

12
Sami

次の回答はJetty 8以前のものです(Jetty 9以降のコマンドとクラス名は異なります)

聞いているインターフェースを必ず確認してください。

例(ログから)

2012-08-10 14:52:26.470:INFO:oejs.AbstractConnector:Started [email protected]:8080

つまり、サーバーは127.0.0.1(localhost)でのみリッスンしているということです。マシンAでログを確認するか、簡単なテストを実行できます。Webブラウザーを開き、これらのURLの両方をテストします。

  • http://localhost:8080/
  • http://192.168.0.6:8080/

両方のURLで応答する場合は、正しく設定されている可能性があり、ファイアウォールの問題に対処する必要があります。一方では機能し、もう一方では機能しない場合は、1つのインターフェイスでのみリッスンしています。

Jettyがすべてのインターフェースでリッスンするようにするには、特別なIP0.0.0.0を使用します

$ Java -Djetty.Host=0.0.0.0 -jar start.jar
2012-08-10 14:53:25.338:INFO:oejs.AbstractConnector:Started [email protected]:8080

この時点で、jettyはマシンのすべてのインターフェイスをリッスンしています。

注:etc/jetty.xmlを編集して、ホストを永続的に設定することもできます。

      <New class="org.Eclipse.jetty.server.nio.SelectChannelConnector">
        <Set name="Host">0.0.0.0</Set>
      ...
17
Joakim Erdfelt

それで私はこれにぶつかり、奇妙な振る舞いをデバッグした午後の後、Jettyが自分自身をIPv6にブロードキャストしているだけであり、IPv4をスキップして、v4ポートが別のアプリに割り当てられていることを発見しました。

私の解決策は?別のポートにジャンプ...

0
Matt Hilliard