在Aurora AWS无服务器MySQL上启用SSL



我想建立一个从Ubuntu服务器到Aurora无服务器MySQL的加密连接,引擎版本为5.7,但SSL似乎在默认情况下在服务上被禁用。

show variables like '%ssl%';
| Variable_name | Value
                                                                                                                                                                                                                          
| have_openssl  | DISABLED                                                                                                                                                                                                                                                                                             |
| have_ssl      | DISABLED                                           

这与Aurora RDS不同,后者使用SSL非常简单,并且默认启用。

这就是错误:

mysql -h <cluster-endpoint> -u <username> -p --ssl-ca=rds-ca-2019-us-east-1-bundle.pem
Enter password:
ERROR 2026 (HY000): SSL connection error: error:00000001:lib(0):func(0):reason(1)

Mysql客户端版本

mysql  Ver 14.14 Distrib 5.7.31, for Linux (x86_64) using  EditLine wrapper

参数组设置为默认设置。

这个错误似乎与这里提到的错误相似,但信息完全不同。

https://aws.amazon.com/premiumsupport/knowledge-center/rds-error-2026-ssl-connection/

TLS/SSL for Serverless文档似乎表明RDS和Serverless的用法基本相同。

https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html#aurora-无服务器.tls

我几乎是一个数据库Noob,任何故障排除帮助都将不胜感激。

关于Aurora Serverless,您需要了解两件重要的事情。

  1. 强烈建议使用SSL,它是建立新连接的首选。所以你不需要为此做任何事情。您绝对不需要下载SSL/TLS证书,事实上也不应该下载。让Aurora上的证书轮换和管理。它让你的生活更简单。

  2. 根据官方文档[1],检查have_opensslhave_ssl不是使用SSL验证连接的正确方法。您需要使用--ssl-mode参数来验证这一点。

[1]https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html#aurora-无服务器.tls

您可以确保您的会话在客户端和Aurora无服务器VPC端点。为此,请指定带有--ssl模式参数的客户端。

最新更新