http.proxyHost pode rotear um cliente HTTP participante, mas não faz nada pelo PostgreSQL JDBC. O PostgreSQL envia seu protocolo de banco de dados, não uma requisição HTTP.

A URL de conexão JDBC ainda precisa nomear o servidor de banco de dados e o banco de dados. Substituir seu servidor por um endereço de proxy HTTP não pode ensinar CONNECT ao driver.

Para um serviço SOCKS, investigue a implementação de socket abaixo do JDBC. O Java expõe estas propriedades de inicialização para sockets participantes:

-DsocksProxyHost=203.0.113.10 -DsocksProxyPort=1080

Substitua o endpoint da documentação. Estes são argumentos da JVM, não parâmetros de URL do JDBC. Verifique o caminho de socket real do JDK/driver e qualquer fábrica de sockets personalizada antes de esperar que ele os use.

As propriedades valem para todo o processo, então inclua outras conexões na avaliação de impacto. Um conector dedicado documentado ou um túnel aprovado pode oferecer um limite mais claro quando apenas o tráfego de banco de dados deve seguir a rota.

O proxy ainda precisa de permissão e alcançabilidade até a porta do banco de dados. Depois, o banco de dados aplica regras de acesso do host, TLS de destino e seu próprio login. Preserve o nome do host do certificado e mantenha a conta do banco de dados separada da conta do proxy.

Registre o primeiro estágio que falhou: conexão com o proxy, negociação, TCP do banco de dados, TLS ou login no banco de dados. Essa evidência identifica a próxima mudança; ajustar repetidamente propriedades HTTP não utilizadas não consegue fazê-lo.

Artigos relacionados