我是Cloud和的新手。所以现在我已经使用Cloud并使用Compute连接到数据库。我使用它作为代理服务器,并用于从本地计算机进行远程连接。
然后,我需要使用SSL连接,尝试创建新的客户端证书,如果我从代理服务器连接它是可以的。
但当我试图使用DataGrip从本地机器连接时,就无法工作了。我收到一条错误消息。
连接postgres@数据库-服务器失败。08006无法打开SSL根证书文件/home/user/..postgresql/root.crt。
发布于 2019-08-23 12:45:00
这是因为Postgres驱动程序在42.2.2版本之后发生了更改。后续版本还将ssl=true处理为sslmode=verify,同时还引入了导致默认SSLFactory不识别JRE仙人掌的更改。
要解决这个问题,要么恢复到驱动程序42.2.2,要么将set工厂设置为org.postgresql.ssl.DefaultJavaSSLFactory
还有一个GitHub问题https://github.com/pgjdbc/pgjdbc/issues/1307
发布于 2019-06-26 09:35:32
目前,要正确使用SSL,您需要以以下方式配置DataGrip。
sslmode属性并设置所需的验证级别,例如验证-casslrootcert属性并提供到ca.cert的路径此外,你把你的root.crt放到/home/user/.postgresql/root.crt上了吗?
此外,如果要引用https://cloud.google.com/sql/docs/postgres/connect-admin-ip#connect-ssl,请使用以下参数:
sslmode=verify-ca
sslrootcert=/path/to/your/server-ca.pem
ca file=/path/to/your/server-ca.pem
client certificate file=/path/to/your/client-cert.pem
client key file=/path/to/your/client-key.pem
https://stackoverflow.com/questions/56752551
复制相似问题