django - 自 SSL/TLS 证书更新以来,Django 应用程序未连接到 RDS
问题描述
我有一个在 ELB 上运行的 Django 应用程序,连接到 MySQL RDS db。
我最近检查了一下,它不再工作了(应用程序运行良好,但是当我尝试部署或运行任何与 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 指南中被引用。. 最好也查看本指南以健全检查您的任何其他假设。
推荐阅读
- java - Array中的RecyclerView可点击按钮
- sql - 如何组合查询搜索以显示某些定义的值,同时不显示特定的定义值?
- javascript - 如何删除jpeg图像中的滚动条
- python - 即使我找不到任何代码,代码也会给我语法错误
- sql-server - SQL链接服务器Python pyodbc插入错误
- python - Django电子商务中的URL安全
- html - (415) 不支持的媒体类型:相同的脚本适用于我的笔记本电脑,但不适用于 azure runbook ((415) 不支持的媒体类型)
- angular - 如何更改 mat-button-toggle 的值
- azure - Azure eventthub EventHubConsumerAsyncClient 无法在 Springboot 非 Web 应用程序中启动
- nginx - 删除包含太多文件的目录时服务器关闭