sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur ansluter jag till PostgreSQL-databas över SSL?

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

Obs:om schema_name är public , det krävs inte. Men även om porten är standard, dvs. 5432, måste du tillhandahålla den.

För sslmode-värden ref:https://jdbc.postgresql.org/documentation/ head/ssl-client.html ställ in sslfactory=org.postgresql.ssl.DefaultJavaSSLFactory för att möjliggöra validering.

För icke-validerande ssl-anslutning kan du använda sslfactory=org.postgresql.ssl.NonValidatingFactory

Men kom ihåg att när du har aktiverat SSL-validering kan det kräva ett rot-CA-certifikat.

Du har olika alternativ enligt följande (kanske inte är uttömmande. men dessa fungerade för mig.)

  1. Du kan placera den på dess standardplats, dvs. ~/Postgres/root.crt ELLER
  2. Ställ in PGSSLROOTCERT env-variabel till dess sökväg ELLER
  3. importera till en truststore och skicka sökvägen till den som:-Djavax.net.ssl.trustStore=[trust_store_path] -Djavax.net.ssl.trustStorePassword=[trust_store_password] . Om du använder standard truststore, dvs JRE:s cacerts dessa två env-variabler krävs inte.

Ref:

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

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



  1. Närmaste platser med latitud och longitud

  2. Hur löser jag en mysql Thread Stack Overrun?

  3. Vad är det enklaste sättet att få alla föräldrar till en post med hjälp av id / parent_id-modellen i mysql/php?

  4. Kan jag använda Oracles analytiska funktion här?