http.proxyHost kan een deelnemende HTTP-client routeren maar doet niets voor PostgreSQL JDBC. PostgreSQL verstuurt zijn databaseprotocol, geen HTTP-verzoek.

De JDBC-verbindings-URL moet nog steeds de databaseserver en de database benoemen. De server vervangen door een HTTP-proxyadres kan de driver CONNECT niet leren.

Onderzoek voor een SOCKS-dienst de socket-implementatie onder JDBC. Java stelt deze opstarteigenschappen beschikbaar voor deelnemende sockets:

-DsocksProxyHost=203.0.113.10 -DsocksProxyPort=1080

Vervang het eindpunt uit de documentatie. Dit zijn JVM-argumenten, geen JDBC-URL-parameters. Controleer het werkelijke socketpad van de JDK/driver en elke aangepaste socketfactory voordat u verwacht dat hij ze gebruikt.

De eigenschappen gelden voor het hele proces, dus betrek andere verbindingen bij de impactanalyse. Een gedocumenteerde speciale connector of een goedgekeurde tunnel kan een duidelijker grens bieden wanneer alleen databaseverkeer de route moet nemen.

De proxy heeft nog steeds toestemming en bereikbaarheid naar de databasepoort nodig. De database past vervolgens hosttoegangsregels, TLS voor de bestemming en zijn eigen login toe. Bewaar de hostnaam van het certificaat en houd het databaseaccount gescheiden van het proxyaccount.

Leg de eerste mislukte fase vast: proxyverbinding, onderhandeling, database-TCP, TLS of databaselogin. Dat bewijs wijst de volgende wijziging aan; herhaald aanpassen van ongebruikte HTTP-eigenschappen kan dat niet.

Gerelateerde artikelen