PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Làm cách nào để kết nối với cơ sở dữ liệu PostgreSQL qua SSL?

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

Lưu ý:if schema_namepublic , nó không bắt buộc. Nhưng ngay cả khi cổng là mặc định, tức là 5432, bạn phải cung cấp nó.

Đối với các giá trị sslmode, hãy tham khảo: https://jdbc.postgresql.org/documentation/ head / ssl-client.html đặt sslfactory=org.postgresql.ssl.DefaultJavaSSLFactory để kích hoạt xác thực.

Đối với kết nối ssl không xác thực, bạn có thể sử dụng sslfactory=org.postgresql.ssl.NonValidatingFactory

Nhưng hãy nhớ rằng, khi bạn bật xác thực SSL, nó có thể yêu cầu chứng chỉ CA gốc.

Bạn có các tùy chọn khác nhau như sau (có thể không đầy đủ. Nhưng những tùy chọn này phù hợp với tôi.)

  1. Bạn có thể đặt nó ở vị trí mặc định, tức là ~ / Postgres / root.crt HOẶC
  2. Đặt PGSSLROOTCERT biến env đến đường dẫn của nó HOẶC
  3. nhập vào cửa hàng tin cậy và chuyển đường dẫn của nó dưới dạng:-Djavax.net.ssl.trustStore=[trust_store_path] -Djavax.net.ssl.trustStorePassword=[trust_store_password] . Nếu bạn đang sử dụng kho tin cậy mặc định, tức là cacerts của JRE hai biến env này không bắt buộc.

Tham khảo:

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. Mối quan hệ lỗi không tồn tại

  2. Db khác nhau để thử nghiệm trong Django?

  3. Liên kết bên trái và tổng hợp mảng

  4. Oracle sang PostgreSQL - Con trỏ và Biểu thức Bảng Thông dụng

  5. Có cách nào để xác định một hằng số được đặt tên trong một truy vấn PostgreSQL không?