小编Jor*_*ier的帖子

从Django连接到RDS MySQL时出现SSL连接错误

我正在尝试使用RDS实例作为数据库后端在Heroku上部署Django应用程序.一切正常,直到我尝试加密连接,然后我收到此错误:

OperationalError at /path/
(2026, 'SSL connection error')
Run Code Online (Sandbox Code Playgroud)

这是设置:

  • 标准的Django应用程序
  • 带有安全组的MySQL RDS实例允许来自所有IP地址的连接
  • MySQL用户设置为允许来自任何主机的连接
  • 亚马逊的pem已经下载并在Django设置中指定

在Heroku上:

DATABASE_URL: mysql2://username:password@instance.us-east-1.rds.amazonaws.com:3306/name_staging?sslca=path/to/mysql-ssl-ca-cert.pem
Run Code Online (Sandbox Code Playgroud)

在Django设置中:

DATABASES = {
    'default': dj_database_url.config()
}
DATABASES['default']['OPTIONS'] = {'ssl': {'ca': 'mysql-ssl-ca-cert.pem'}}`
Run Code Online (Sandbox Code Playgroud)

我已经尝试过搜索并且已经阅读了很多关于在Rails中设置这种类型环境的内容,但是关于使用Django执行此操作的文档很轻松到不存在.

有没有人成功地部署了类似的设置或有没有人有如何解决这个错误的想法?

更新:

通过cli连接以及在python解释器中使用MySQLdb直接连接.

mysql django ssl heroku amazon-rds

6
推荐指数
1
解决办法
3216
查看次数

标签 统计

amazon-rds ×1

django ×1

heroku ×1

mysql ×1

ssl ×1