如何使用 DataGrip 通过隧道设置 DataGrip 以 SSL 模式连接 Cloud SQL
How to setup DataGrip connect Cloud SQL with SSL mode through Tunnel using DataGrip
我是 Cloud SQL 和 Cloud Security 的新手。所以现在我已经使用 Cloud SQL 并使用 Compute Engine 连接到数据库。我将它用作代理服务器并用于从我的本地计算机进行远程连接。
然后我需要使用 SSL 连接尝试创建新的客户端证书,如果我从我的代理服务器连接就可以了。
但是当我尝试使用 DataGrip 从本地计算机连接时不起作用。我收到一条错误消息。
Connection to postgres@database-server failed.
[08006] Could not open SSL root certificate file /home/user/.postgresql/root.crt.
目前,要使用 SSL 正常工作,您需要按以下方式配置 DataGrip。
- 转到 SSH/SSL 选项卡
- 启用 SSL 并提供 CA 证书、客户端证书和客户端私钥的路径
- 转到“高级”选项卡
- 找到
sslmode
属性 并设置所需的验证级别,例如verify-ca
- 找到
sslrootcert
属性 并提供 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
这是由 42.2.2 版后 Postgres JDBC 驱动程序的更改引起的。后续版本将 ssl=true 也视为 sslmode=verify-ca 同时还引入了导致默认 SSLFactory 无法识别 JRE cacerts.
要解决此问题,请恢复到驱动程序 42.2.2 或将 sslfactory 设置为 org.postgresql.ssl.DefaultJavaSSLFactory
还有一个GitHub问题
https://github.com/pgjdbc/pgjdbc/issues/1307
我是 Cloud SQL 和 Cloud Security 的新手。所以现在我已经使用 Cloud SQL 并使用 Compute Engine 连接到数据库。我将它用作代理服务器并用于从我的本地计算机进行远程连接。
然后我需要使用 SSL 连接尝试创建新的客户端证书,如果我从我的代理服务器连接就可以了。
但是当我尝试使用 DataGrip 从本地计算机连接时不起作用。我收到一条错误消息。
Connection to postgres@database-server failed. [08006] Could not open SSL root certificate file /home/user/.postgresql/root.crt.
目前,要使用 SSL 正常工作,您需要按以下方式配置 DataGrip。
- 转到 SSH/SSL 选项卡
- 启用 SSL 并提供 CA 证书、客户端证书和客户端私钥的路径
- 转到“高级”选项卡
- 找到
sslmode
属性 并设置所需的验证级别,例如verify-ca - 找到
sslrootcert
属性 并提供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
这是由 42.2.2 版后 Postgres JDBC 驱动程序的更改引起的。后续版本将 ssl=true 也视为 sslmode=verify-ca 同时还引入了导致默认 SSLFactory 无法识别 JRE cacerts.
要解决此问题,请恢复到驱动程序 42.2.2 或将 sslfactory 设置为 org.postgresql.ssl.DefaultJavaSSLFactory
还有一个GitHub问题 https://github.com/pgjdbc/pgjdbc/issues/1307