我有一个在ELB上运行的Django应用程序,它连接到MySQL RDS数据库。
我最近检查了一下,它不再起作用(应用程序运行正常,但是尝试部署或运行任何manage.py db相关命令时,出现以下错误。我可以毫无问题地手动连接到RDS DB。
django.db.utils.OperationalError: (2003, "Can't connect to MySQL server on '****.eu-west-1.rds.amazonaws.com' (110)").
我相信这与SSL / TLS证书的最新更新有关-但是我进入RDS仪表板并在那里更新为新的2019版本,但仍然出现此错误。
有人知道这是什么引起的吗?在更改证书之前,它工作正常,因此我只能假定它与之相关。
我曾尝试将ssl-ca rds-ca-2019-root.pem
添加到Django的数据库选项中,但无论如何仍然会出现相同的错误。
由于我现在很沮丧,所以任何帮助都会非常感激。
谢谢!
如果您将TLS用于数据库连接,那么使用AWS提供的“组合” ca捆绑包,我获得了最大的成功。
可以在https://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem中引用的Using SSL/TLS to Encrypt a Connection to a DB Instance guide.中找到该文件。最好同时阅读本指南,以进行其他所有假设的健全性检查。