http.proxyHost může směrovat zúčastněného HTTP klienta, ale pro PostgreSQL JDBC nedělá nic. PostgreSQL posílá svůj databázový protokol, ne požadavek HTTP.

URL připojení JDBC musí stále uvádět databázový server a databázi. Nahrazení serveru adresou HTTP proxy nemůže ovladač naučit příkaz CONNECT.

U služby SOCKS prozkoumejte implementaci socketu pod JDBC. Java zpřístupňuje tyto spouštěcí vlastnosti pro zúčastněné sockety:

-DsocksProxyHost=203.0.113.10 -DsocksProxyPort=1080

Nahraďte koncový bod z dokumentace. Jsou to argumenty JVM, nikoli parametry URL JDBC. Před očekáváním, že je ovladač použije, ověřte skutečnou cestu socketu JDK/ovladače a případnou vlastní továrnu socketů.

Vlastnosti platí pro celý proces, proto do posouzení dopadu zahrňte i další připojení. Dokumentovaný vyhrazený konektor nebo schválený tunel mohou poskytnout jasnější hranici, když má touto cestou procházet jen databázový provoz.

Proxy stále potřebuje oprávnění a dosažitelnost portu databáze. Databáze pak uplatní pravidla přístupu k hostiteli, TLS cíle a vlastní přihlášení. Zachovejte název hostitele certifikátu a účet databáze držte odděleně od účtu proxy.

Zaznamenejte první neúspěšnou fázi: připojení k proxy, vyjednávání, TCP databáze, TLS nebo přihlášení k databázi. Tyto důkazy určí další změnu; opakované ladění nepoužívaných vlastností HTTP to nedokáže.

Související články