http.proxyHost kan rute en deltagende HTTP-klient, men gør intet for PostgreSQL JDBC. PostgreSQL sender sin databaseprotokol, ikke en HTTP-anmodning.

JDBC-forbindelses-URL'en skal stadig angive databaseserveren og databasen. At erstatte dens server med en HTTP-proxyadresse kan ikke lære driveren CONNECT.

For en SOCKS-tjeneste skal du undersøge socket-implementeringen under JDBC. Java eksponerer disse opstartsindstillinger for deltagende sockets:

-DsocksProxyHost=203.0.113.10 -DsocksProxyPort=1080

Erstat dokumentationens slutpunkt. Disse er JVM-argumenter, ikke JDBC-URL-parametre. Bekræft den faktiske JDK/driver-socketsti og enhver brugerdefineret socketfabrik, før du forventer, at den bruger dem.

Indstillingerne gælder for hele processen, så medtag andre forbindelser i konsekvensvurderingen. En dokumenteret dedikeret connector eller en godkendt tunnel kan give en klarere grænse, når kun databasetrafik bør tage ruten.

Proxyen har stadig brug for tilladelse og nåbarhed til databaseporten. Databasen anvender derefter værtsadgangsregler, destinations-TLS og sit eget login. Bevar certifikatets værtsnavn, og hold databasekontoen adskilt fra proxykontoen.

Registrér den første fejlslagne fase: proxyforbindelse, forhandling, database-TCP, TLS eller databaselogin. Den dokumentation peger på den næste ændring; gentagen justering af ubrugte HTTP-indstillinger kan ikke gøre det.

Relaterede artikler