2017-06-05 5 views
0

私はOracleサーバーに直接アクセスできないため、SOCKSプロキシ経由でOracleデータベースに接続しようとしています。 だから、私はポート4000上で私のプロキシを開き、自分のアプリケーションにこれらのオプションを追加します。Java socksプロキシがローカルDNSを使用しています

-DsocksProxyHost=localhost -DsocksProxyPort=4000 

、私は、接続文字列でのOracleサーバーのホスト名を使用して私のアプリを起動した場合、その後、私は指定された「不明なホストを取得" ホスト名の代わりにIPアドレスを使用すると、接続は成功しています。 私はjavaがリモートの代わりに私のローカルDNSを使ってホスト名を解決しようとしていると思います。リモートDNSはどのように使用できますか?

+0

どのクライアントですか? SOCKSの構造上の問題の1つ(たとえば、クライアントの下にライブラリが掛けられている場合)は、通常、クライアントは接続を行う前にDNSを解決しますが、SOCKSでは解決と接続が同じ要求で行われます。さまざまな自動SOCKSクライアントは、DNS検索をフックして偽のアドレスを返すことでこれを回避します(SOCKSで接続要求が表示されたときに元の宛先名を識別するために使用します)。 – Adrien

答えて

1

これはjvmのbugであり、直ちに解決する予定はありません。

SOCKSは本当に古いです。現代のインフラストラクチャーに広く採用されていません。優先順位をP4に下げる。

+0

あなたはそれを修正する* no *計画があることを意味します – jaudo

+0

@jaudo思い出してくれてありがとう、はい、あなたは正しいです、**は**が見逃されました。 –

関連する問題