Sud*_*ndu 6 ssl amazon-web-services amazon-redshift
在连接到Amazon RedShift时,我收到以下错误:
2016-04-14 13:49:30 ERROR SQL Exception when connecting [Amazon](500150) Error setting/closing connection: General SSLEngine problem.
java.sql.SQLException: [Amazon](500150) Error setting/closing connection: General SSLEngine problem.
at workbench.db.DbDriver.connect(DbDriver.java:546)
at workbench.db.ConnectionMgr.connect(ConnectionMgr.java:244)
at workbench.db.ConnectionMgr.getConnection(ConnectionMgr.java:172)
at workbench.gui.components.ConnectionSelector.doConnect(ConnectionSelector.java:227)
at workbench.gui.components.ConnectionSelector$1.run(ConnectionSelector.java:131)
Caused by: java.sql.SQLException: [Amazon](500150) Error setting/closing connection: General SSLEngine problem.
at com.amazon.redshift.client.PGClient.<init>(Unknown Source)
at com.amazon.redshift.core.PGJDBCConnection.connect(Unknown Source)
at com.amazon.jdbc.common.BaseConnectionFactory.doConnect(Unknown Source)
at com.amazon.jdbc.common.AbstractDriver.connect(Unknown Source)
at workbench.db.DbDriver.connect(DbDriver.java:513)
at workbench.db.ConnectionMgr.connect(ConnectionMgr.java:244)
at workbench.db.ConnectionMgr.getConnection(ConnectionMgr.java:172)
at workbench.gui.components.ConnectionSelector.doConnect(ConnectionSelector.java:227)
Run Code Online (Sandbox Code Playgroud)
我正在使用SQL Workbench J连接到数据库系统.两天前连接工作正常,这很奇怪.这个问题突然出现了.任何的想法??
我们按照设置指南中的确切步骤将证书添加到Java.
https://community.boomi.com/docs/DOC-2381
我在这里错过了什么吗?
UPDATE
我的Redshift数据库是SSL配置的.我们使用SQL Workbench J(http://www.sql-workbench.net/)客户端连接到该数据库.现在的问题是,每当我们尝试连接时,我们都会收到我提到的错误.
以下是我们的网址格式:
jdbc:redshift://hostname:5439/dbname?ssl=true&sslmode=verify-full
Run Code Online (Sandbox Code Playgroud)
当我遵循cfregly在databricks论坛上给出的解决方案时,它对我有用.请按照以下网址获取此解决方案:
https://forums.databricks.com/questions/867/ssl-connection-issues-with-redshift.html
请尝试在连接URL字符串中附加sslfactory值,如下所示 - 它可能会起作用.
ssl = true&sslfactory = org.postgresql.ssl.NonValidatingFactory
尝试以下操作。
根据环境变量 JAVA_HOME 的 Java 安装运行密钥库 keytool(您可能有多个 Java 安装,因此只需使用默认值)。使用 JRE 附带的默认 cacerts 密钥库,其密码为“changeit”。您需要下载Redshift 证书。
然后安装证书例如:
C:\Program Files\Java\jdk1.8.0_25\jre\bin>keytool.exe -keystore "C:\Program Files\Java\jdk1.8.0_25\jre\lib\security\cacerts" -import -alias redshift -file redshift-ssl-ca-cert.pem
Run Code Online (Sandbox Code Playgroud)
它会提示您输入密码(“changeit”),然后应该说密钥已添加。如果失败,可能是因为您不是管理员用户,因此如果在 Linux 中使用 sudo 或在 Windows 中以管理员身份打开命令窗口。
使用 cacerts 密钥库和上面输入的密码启动 MYSQL Workbench,例如:
C:\apps\SQL-Workbench-Build118>java -Djavax.net.ssl.trustStore="C:\Program Files\Java\jdk1.8.0_25\jre\lib\security\cacerts" -Djavax.net.ssl.trustStorePassword=changeit -jar sqlworkbench.jar
Run Code Online (Sandbox Code Playgroud)
您应该能够使用上面的 URL,并且它现在应该可以工作。
| 归档时间: |
|
| 查看次数: |
9214 次 |
| 最近记录: |