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_name
là public
, 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.)
- Bạn có thể đặt nó ở vị trí mặc định, tức là ~ / Postgres / root.crt HOẶC
- Đặt
PGSSLROOTCERT
biến env đến đường dẫn của nó HOẶC - 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