0

1.2.3.4 のデータベースに接続するプレイ アプリケーションがありますが、何らかの理由で Play! (および他のJavaアプリも)それに接続できません。

hostsファイルを編集してIPの名前を設定しようとしapp01 1.2.3.4ましたが、DBがホストされているボックスでのみ機能し、外部マシンでは機能しませんでした。iptables で正しいポートが開いていることを確認でき、再起動も試みました。

同じボックスから 1.2.3.4 のポート 4567 で postgres に ping を実行すると、動作します。しかし、Java アプリで同じ IP アドレスを設定すると失敗します。どうしたの?権限またはiptablesの問題ですか?ありがとう。

スタックトレース:

Caused by: java.net.NoRouteToHostException: No route to host
        at java.net.PlainSocketImpl.socketConnect(Native Method)
        at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:327)
        at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:193)
        at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:180)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:384)
        at java.net.Socket.connect(Socket.java:546)
        at java.net.Socket.connect(Socket.java:495)
        at java.net.Socket.<init>(Socket.java:392)
        at java.net.Socket.<init>(Socket.java:206)
        at org.postgresql.core.PGStream.<init>(PGStream.java:62)
        at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:76)
        ... 35 more
4

3 に答える 3

0

dbサーバーのファイアウォール設定を確認できますか。telnetで試して、接続できるかどうかを確認できます。

于 2012-05-16T07:16:23.143 に答える
0

pgadmin(http://www.pgadmin.org/)経由でDBに接続できますか?マシンから指定されたポート(telnet 1.2.3.4 4567)でDBサーバーにtelnetできますか?telnetできない場合は、DBサーバーが接続をブロックしている可能性がありますか?Java専用またはシステムの残りの部分専用のプロキシサーバーを設定しましたか?例外を除けば、Javaの何よりもネットワークの問題のようです...

于 2012-05-16T07:16:46.077 に答える
0

ルーターの背後にいる場合は、別のローカル マシンから (ローカル IP を使用して) ping を実行できますが、ポート転送が正しく行われていない場合は、外部から ping を実行できない可能性があります (これは次の場所から構成できます)。ルーター)。

もう 1 つ注意すべき点は、ネットワーク内から自分の外部 IP に ping を実行できないことです。つまり、192.168.1.xx (クライアント) から 192.168.1.100 (サーバー) に ping を実行できますが、ping は実行できません。 192.168.1.xx (クライアント) から 72.15.xx.xx (192.168.1.100 にポート転送)。

これを行うには、外部ツールを使用する必要があります。これを行うことができる多くの Web があります。私が使用するのは次のとおりです。

http://www.yougetsignal.com/tools/open-ports/

ポートが開いていると表示されている場合は開いており、現在は機能するはずです。ポートが閉じていると表示されている場合は、ファイアウォールがデータを許可していることを再確認する必要があります。一時的にシャットダウンして、それが問題であることを確認してください。

ポートの例外をファイアウォールに追加したり、ルーターからポートを転送したりするのにサポートが必要な場合は、使用しているディストリビューション/ルーターモデルを教えてください。さらに情報を掘り下げます。

于 2012-05-16T07:36:11.450 に答える