PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Jak połączyć się z bazą danych PostgreSQL przez SSL?

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

Uwaga:jeśli schema_name jest public , nie jest to wymagane. Ale port, nawet jeśli jest domyślny, tj. 5432, musisz go podać.

Dla wartości sslmode ref:https://jdbc.postgresql.org/documentation/ head/ssl-client.html ustaw sslfactory=org.postgresql.ssl.DefaultJavaSSLFactory aby umożliwić walidację.

W przypadku niewalidującego połączenia SSL możesz użyć sslfactory=org.postgresql.ssl.NonValidatingFactory

Pamiętaj jednak, że po włączeniu weryfikacji SSL może być wymagany certyfikat głównego urzędu certyfikacji.

Masz różne opcje w następujący sposób (może nie być wyczerpujące, ale dla mnie zadziałały).

  1. Możesz umieścić go w domyślnym miejscu, np. ~/Postgres/root.crt LUB
  2. Ustaw PGSSLROOTCERT zmienna env do jej ścieżki LUB
  3. importuj do zaufanego magazynu i przekaż jego ścieżkę jako:-Djavax.net.ssl.trustStore=[trust_store_path] -Djavax.net.ssl.trustStorePassword=[trust_store_password] . Jeśli używasz domyślnego truststore, tj. cacerts JRE te dwie zmienne env nie są wymagane.

Nr ref.:

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

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Błąd:INTO określono więcej niż raz w lub w pobliżu INTO

  2. Problem z Postgresem ALTER TABLE

  3. org.hibernate.type.TextType i Oracle

  4. W jaki sposób wyjątek Postgres RAISE EXCEPTION jest konwertowany na wyjątek PDOException?

  5. Indeks klastrowy i nieklastrowy w PostgreSQL