PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Come connettersi con il database PostgreSQL su SSL?

url=jdbc:postgresql://<host_url_or_ip>:<port>/<db_name>?currentSchema=<schema_name>&sslmode=verify-ca&sslfactory=org.postgresql.ssl.DefaultJavaSSLFactory

Nota:se schema_name è public , non è obbligatorio. Ma la porta anche se è predefinita, ovvero 5432, devi fornirla.

Per i valori sslmode fare riferimento a:https://jdbc.postgresql.org/documentation/ head/ssl-client.html imposta sslfactory=org.postgresql.ssl.DefaultJavaSSLFactory per abilitare la convalida.

Per una connessione SSL non validante, puoi utilizzare sslfactory=org.postgresql.ssl.NonValidatingFactory

Ma ricorda, una volta abilitata la convalida SSL, potrebbe essere necessario un certificato CA radice.

Hai varie opzioni come segue (potrebbe non essere esaustivo. ma queste hanno funzionato per me.)

  1. Puoi posizionarlo nella sua posizione predefinita, ad esempio ~/Postgres/root.crt OPPURE
  2. Imposta PGSSLROOTCERT env nel suo percorso O
  3. importa in un truststore e passa il percorso come:-Djavax.net.ssl.trustStore=[trust_store_path] -Djavax.net.ssl.trustStorePassword=[trust_store_password] . Se stai utilizzando il truststore predefinito, ad esempio cacerts di JRE queste due variabili di ambiente non sono obbligatorie.

Rif:

https://jdbc.postgresql.org/documentation/head/ssl-client .html

https://www.postgresql.org/docs/9.0/libpq-ssl .html