HTTPプロキシ設定がPostgreSQL接続を直さない理由
PostgreSQLのデータベースプロトコルをHTTPルーティングから切り離し、SOCKSに必要なソケットパスを確認します。
http.proxyHost は、参加しているHTTPクライアントをルーティングできますが、PostgreSQL JDBCには何も働きかけません。PostgreSQLが送るのはデータベースプロトコルであり、HTTPリクエストではありません。
JDBC接続URLは、引き続きデータベースサーバーとデータベースを指定する必要があります。そのサーバーをHTTPプロキシのアドレスに置き換えても、ドライバーにCONNECTを教えることはできません。
SOCKSサービスについては、JDBCより下のソケット実装を調べます。Javaは、参加するソケットに対して次の起動プロパティを公開します。
-DsocksProxyHost=203.0.113.10 -DsocksProxyPort=1080ドキュメントのエンドポイントを置き換えます。これはJVM引数であり、JDBC URLのパラメーターではありません。実際のJDK/ドライバーのソケットパスと、カスタムのソケットファクトリーがある場合はそれらを確認してから、利用を期待してください。
これらのプロパティはプロセス全体に適用されるため、影響評価には他の接続も含めます。データベースの通信だけをこの経路に通す場合は、文書化された専用コネクターや承認済みのトンネルによって、より明確な境界を設けられます。
プロキシには、データベースのポートへの許可と到達性が依然として必要です。その後、データベースがホストのアクセス規則、宛先のTLS、独自のログインを適用します。証明書のホスト名を維持し、データベースのアカウントはプロキシのアカウントと分けてください。
最初に失敗した段階を記録します。プロキシ接続、ネゴシエーション、データベースのTCP、TLS、データベースのログインのどれかです。その証拠が次の変更を特定します。使われていないHTTPプロパティを何度も調整しても、それはできません。