RDS java.net.SocketException:管道损坏(写入失败)

问题描述 投票:0回答:1

使用 aws 时,我无法获得 RDS MySQL 数据库实例的 SSL 连接。所有 jdbc 连接都经过验证,例如数据库的主机、端口和名称。设置SSLverify=false,连接成功。

我查看了现成的答案,但 AWS RDS 上有一些不同。

这个问题的原因是什么?

ssl amazon-rds
1个回答
0
投票

我发布上述问题是因为我经过了多次测试来确定问题。事实证明,这是 aws gov 云上的一个独特问题。使用 SSL 将政府云连接到 RDS 需要使用中间证书。显然,政府云上不支持认证链。

以下是 RDS 用户指南的文本:

Amazon RDS 创建的 SSL/TLS 证书是受信任的根实体,在大多数情况下应该有效,但如果您的应用程序不接受证书链,则可能会失败。如果您的应用程序不接受证书链,您可能需要使用中间证书来连接到您的 AWS 区域。例如,您必须使用中间证书才能通过 SSL/TLS 连接到 AWS GovCloud(美国)区域。

我发现文本隐藏在文档中的两个特定页面上:

MariaDB - https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/mariadb-ssl-connections.html#MariaDB.Concepts.SSLSupport

MySQL - https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/mysql-ssl-connections.html#MySQL.Concepts.SSLSupport

我发布此发现是因为该问题浪费了我在检查 JDBC 连接的所有已知问题时的时间。在寻找其他有类似问题的人时,这个特定问题没有得到解决。

我希望其他人通过这篇文章节省一些时间,也许 aws 会找到一种更好的方法来确定为什么在使用 SSL 与这些数据库建立 JDBC 连接时可能会出现问题。

© www.soinside.com 2019 - 2024. All rights reserved.