http.proxyHost katılan bir HTTP istemcisini yönlendirebilir ancak PostgreSQL JDBC için hiçbir şey yapmaz. PostgreSQL kendi veritabanı protokolünü gönderir, HTTP isteği değil.

JDBC bağlantı URL'si yine de veritabanı sunucusunu ve veritabanını belirtmelidir. Sunucusunu bir HTTP proxy adresiyle değiştirmek sürücüye CONNECT öğretemez.

Bir SOCKS hizmeti için JDBC'nin altındaki soket uygulamasını inceleyin. Java, katılan soketler için şu başlangıç özelliklerini sunar:

-DsocksProxyHost=203.0.113.10 -DsocksProxyPort=1080

Belgedeki uç noktayı değiştirin. Bunlar JVM argümanlarıdır, JDBC URL parametreleri değildir. Bunları kullanmasını beklemeden önce gerçek JDK/sürücü soket yolunu ve varsa özel soket fabrikasını doğrulayın.

Özellikler tüm süreç için geçerlidir, bu nedenle etki değerlendirmesine diğer bağlantıları da dahil edin. Yalnızca veritabanı trafiğinin bu rotayı kullanması gerektiğinde, belgelenmiş özel bir bağlayıcı veya onaylanmış bir tünel daha net bir sınır sağlayabilir.

Proxy'nin yine de veritabanı bağlantı noktasına izni ve erişilebilirliği gerekir. Ardından veritabanı ana makine erişim kurallarını, hedef TLS'yi ve kendi oturum açmasını uygular. Sertifikanın ana makine adını koruyun ve veritabanı hesabını proxy hesabından ayrı tutun.

İlk başarısız aşamayı kaydedin: proxy bağlantısı, anlaşma, veritabanı TCP, TLS veya veritabanı oturum açma. Bu kanıt bir sonraki değişikliği belirler; kullanılmayan HTTP özelliklerini tekrar tekrar ayarlamak bunu yapamaz.

İlgili makaleler