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の両方にあります。
次の回答は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>
...
それで私はこれにぶつかり、奇妙な振る舞いをデバッグした午後の後、Jettyが自分自身をIPv6にブロードキャストしているだけであり、IPv4をスキップして、v4ポートが別のアプリに割り当てられていることを発見しました。
私の解決策は?別のポートにジャンプ...