url=jdbc:postgresql://<host_url_or_ip>:<port>/<db_name>?currentSchema=<schema_name>&sslmode=verify-ca&sslfactory=org.postgresql.ssl.DefaultJavaSSLFactory
Poznámka:pokud schema_name
je public
, není to vyžadováno. Ale i když je výchozí port, tj. 5432, musíte jej zadat.
Pro hodnoty sslmode ref:https://jdbc.postgresql.org/documentation/ head/ssl-client.html
nastavit sslfactory=org.postgresql.ssl.DefaultJavaSSLFactory
pro povolení ověření.
Pro neověřující připojení SSL můžete použít sslfactory=org.postgresql.ssl.NonValidatingFactory
Pamatujte však, že jakmile povolíte ověření SSL, může vyžadovat certifikát kořenové CA.
Máte různé následující možnosti (nemusí to být vyčerpávající. ale tyto fungovaly pro mě.)
- Můžete jej umístit na výchozí místo, tj. ~/Postgres/root.crt NEBO
- Nastavte
PGSSLROOTCERT
env k její cestě NEBO - importujte do důvěryhodného úložiště a předejte mu cestu jako:
-Djavax.net.ssl.trustStore=[trust_store_path] -Djavax.net.ssl.trustStorePassword=[trust_store_password]
. Pokud používáte výchozí úložiště důvěryhodnosti, tj.cacerts
JRE tyto dvě proměnné env nejsou povinné.
Ref:
https://jdbc.postgresql.org/documentation/head/ssl-client .html
https://www.postgresql.org/docs/9.0/libpq-ssl .html