PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Как да се свържете с PostgreSQL база данни през SSL?

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

Забележка:ако schema_name е public , не е задължително. Но портът, дори ако е по подразбиране, т.е. 5432, трябва да го предоставите.

За стойности на sslmode справка:https://jdbc.postgresql.org/documentation/ head/ssl-client.html задайте sslfactory=org.postgresql.ssl.DefaultJavaSSLFactory за да активирате валидирането.

За невалидираща ssl връзка можете да използвате sslfactory=org.postgresql.ssl.NonValidatingFactory

Но не забравяйте, че след като активирате SSL валидирането, може да изисква основен CA сертификат.

Имате различни опции, както следва (може да не е изчерпателно, но те свършиха работа за мен.)

  1. Можете да го поставите на мястото му по подразбиране, т.е. ~/Postgres/root.crt ИЛИ
  2. Задайте PGSSLROOTCERT env променлива към нейния път ИЛИ
  3. импортиране в доверително хранилище и предаване на пътя като:-Djavax.net.ssl.trustStore=[trust_store_path] -Djavax.net.ssl.trustStorePassword=[trust_store_password] . Ако използвате доверително хранилище по подразбиране, т.е. cacerts на JRE тези две env променливи не са необходими.

Справка:

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. TimescaleDB:ефективно изберете последния ред

  2. Как да накарам PostgreSQL тригера и C# Windows Service да работят заедно?

  3. Избор от база данни въз основа на списък с уникални двойки

  4. Rails не връща транзакция след неуспешно запазване ()

  5. sequelize изберете и включете друг псевдоним на таблица