http.proxyHost може маршрутизувати HTTP-клієнт, що бере участь, але нічого не робить для PostgreSQL JDBC. PostgreSQL надсилає протокол своєї бази даних, а не HTTP-запит.

URL з'єднання JDBC усе ще має вказувати сервер бази даних і базу даних. Заміна сервера адресою HTTP-проксі не навчить драйвер команди CONNECT.

Для служби SOCKS дослідіть реалізацію сокета нижче JDBC. Java надає ці властивості запуску для сокетів, що беруть участь:

-DsocksProxyHost=203.0.113.10 -DsocksProxyPort=1080

Замініть кінцеву точку з документації. Це аргументи JVM, а не параметри URL JDBC. Перевірте фактичний шлях сокета JDK/драйвера та будь-яку власну фабрику сокетів, перш ніж очікувати, що він їх використає.

Властивості діють на весь процес, тому включіть інші з'єднання в оцінку впливу. Задокументований спеціальний конектор або схвалений тунель можуть дати чіткішу межу, коли цим маршрутом має йти лише трафік бази даних.

Проксі все ще потребує дозволу й доступності порту бази даних. Далі база даних застосовує правила доступу до хоста, TLS призначення та власний вхід. Збережіть ім'я хоста сертифіката й тримайте обліковий запис бази даних окремо від облікового запису проксі.

Запишіть перший невдалий етап: з'єднання з проксі, узгодження, TCP бази даних, TLS або вхід у базу даних. Ці докази визначають наступну зміну; багаторазове коригування невикористаних властивостей HTTP цього не зробить.

Схожі статті