Proč nastavení HTTP proxy neopraví připojení k PostgreSQL
Oddělte databázový protokol PostgreSQL od směrování HTTP a zkontrolujte cestu socketu potřebnou pro SOCKS.
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=1080Nahraď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.