本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
尽管我的数据源连接选项看起来正确,但我还是无法连接 (SSL)
当安全套接字层 (SSL) 配置不正确时,可能会出现连接问题。可能出现以下症状:
-
您可以采用其他方式或从其他位置连接到数据库,但以这种方式不行。
-
您可以连接到类似的数据库,但无法连接此数据库。
在继续之前,请先排除以下情况:
-
权限问题
-
可用性问题
-
证书过期或无效
-
自签名证书
-
证书链的顺序错误
-
端口未启用
-
防火墙阻止 IP 地址
-
Web 套接字已被阻止
-
虚拟私有云 (VPC) 或安全组配置不正确。
为了帮助发现问题SSL,你可以使用在线SSL检查器或像 Open SSL 这样的工具。
以下步骤演练对可疑的连接进行SSL故障排除。本示例中的管理员已经安装了 Open SSL。
-
用户发现连接到数据库时有问题。用户确认自己可以连接其他 AWS 区域中的不同数据库。他们尝试连接同一数据库的其他版本,结果是可以轻松连接。
-
管理员检查了问题,并决定验证证书是否正常工作。管理员在线搜索一篇关于使用 Open 对SSL连接SSL进行故障排除或调试的文章。
-
管理员使用 SSL Open 验证终端中的SSL配置。
echo quit openssl s_client –connect <host>:port
结果显示证书无法正常工作。
... ... ... CONNECTED(00000003) 012345678901234:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:s23_clnt.c:782: --- no peer certificate available --- No client certificate CA names sent --- SSL handshake has read 7 bytes and written 278 bytes --- New, (NONE), Cipher is (NONE) Secure Renegotiation IS NOT supported SSL-Session: Protocol : TLSv1.2 Cipher : 0000 Session-ID: Session-ID-ctx: Master-Key: Key-Arg : None PSK identity: None PSK identity hint: None Start Time: 1497569068 Timeout : 300 (sec) Verify return code: 0 (ok) ---
-
管理员通过在用户的数据库服务器上安装SSL证书来纠正问题。
有关本示例中解决方案的更多详细信息,请参阅 Amazon RDS 用户指南中的使用SSL加密与数据库实例的连接。