http.proxyHost pode enrutar un cliente HTTP participante, pero non fai nada por PostgreSQL JDBC. PostgreSQL envía o seu protocolo de base de datos, non unha solicitude HTTP.

O URL de conexión JDBC debe seguir nomeando o servidor de base de datos e a base de datos. Substituír o seu servidor por un enderezo de proxy HTTP non pode ensinar CONNECT ao controlador.

Para un servizo SOCKS, investigue a implementación de socket por baixo de JDBC. Java expón estas propiedades de inicio para os sockets participantes:

-DsocksProxyHost=203.0.113.10 -DsocksProxyPort=1080

Substitúa o punto de conexión da documentación. Son argumentos de JVM, non parámetros de URL de JDBC. Verifique a ruta de socket real do JDK/controlador e calquera fábrica de sockets personalizada antes de esperar que os use.

As propiedades afectan a todo o proceso, así que inclúa outras conexións na avaliación do impacto. Un conector dedicado documentado ou un túnel aprobado poden ofrecer un límite máis claro cando só o tráfico de base de datos debe tomar a ruta.

O proxy segue necesitando permiso e accesibilidade ao porto da base de datos. Despois a base de datos aplica as regras de acceso do host, o TLS de destino e o seu propio inicio de sesión. Conserve o nome de host do certificado e manteña a conta da base de datos separada da conta do proxy.

Rexiste a primeira etapa fallida: conexión ao proxy, negociación, TCP da base de datos, TLS ou inicio de sesión na base de datos. Esa evidencia identifica o seguinte cambio; axustar repetidamente propiedades HTTP sen uso non pode logralo.

Artigos relacionados