http.proxyHost kan routa en deltagande HTTP-klient men gör ingenting för PostgreSQL JDBC. PostgreSQL skickar sitt databasprotokoll, inte en HTTP-förfrågan.

JDBC-anslutnings-URL:en måste fortfarande ange databasservern och databasen. Att ersätta servern med en HTTP-proxyadress kan inte lära drivrutinen CONNECT.

För en SOCKS-tjänst, undersök socket-implementeringen under JDBC. Java exponerar dessa startegenskaper för deltagande sockets:

-DsocksProxyHost=203.0.113.10 -DsocksProxyPort=1080

Byt ut dokumentationens slutpunkt. Dessa är JVM-argument, inte JDBC-URL-parametrar. Verifiera den faktiska socketvägen för JDK/drivrutinen och eventuell anpassad socketfabrik innan du förväntar dig att den använder dem.

Egenskaperna gäller hela processen, så inkludera andra anslutningar i påverkansbedömningen. En dokumenterad dedikerad anslutning eller en godkänd tunnel kan ge en tydligare gräns när bara databastrafik ska ta vägen.

Proxyn behöver fortfarande behörighet och nåbarhet till databasporten. Databasen tillämpar sedan värdåtkomstregler, destinations-TLS och sin egen inloggning. Behåll certifikatets värdnamn och håll databaskontot separat från proxykontot.

Registrera det första misslyckade steget: proxyanslutning, förhandling, databas-TCP, TLS eller databasinloggning. Den bevisningen identifierar nästa ändring; upprepad justering av oanvända HTTP-egenskaper kan inte göra det.

Relaterade artiklar