当前位置: 首页 > 面试题库 >

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

颛孙轩昂
2023-03-14
问题内容

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

OperationalError at /path/
(2026, 'SSL connection error')

设置如下:

  • 标准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

在Django设置中:

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

我已经尝试搜索,并且已经阅读了很多有关在Rails中设置这种类型的环境的信息,但是关于使用Django进行这种设置的文档很少或根本不存在。

有没有人成功部署过类似的设置,或者有人对如何解决此错误有任何想法?

更新:

通过cli进行连接以及在python解释器中使用MySQLdb直接进行连接都可以。


问题答案:

解决了:

pem文件的路径必须是绝对路径,并且您不能使用python尝试构建绝对路径。

DATABASES = {
    'default': dj_database_url.config()
}
DATABASES['default']['OPTIONS'] = {
    'ssl': {'ca': '/app/project_name/rds/mysql-ssl-ca-cert.pem'}
}

同样,检测这样的路径不起作用,必须对路径进行硬编码:

DATABASES['default']['OPTIONS'] = {
    'ssl': {'ca': os.path.join(os.path.dirname(__file__), 'rds', 'mysql-ssl-ca-cert.pem')}
}


 类似资料:
  • 我们所面临的问题已在许多文件中得到充分证明https://stackoverflow.com/questions/34189756/warning-about-ssl-connection-when-connecting-to-mysql-database. 从过渡到时,我们就开始面临这个问题。建议的修复方法对我们有效,但我们有一个问题,我们不想更新Java源文件以进行更改,例如从 到 正如在ht

  • 问题内容: 我已经在一个网络上的一台服务器上成功设置了启用SSL的MySQL安装,并且可以使用SSL和Linux命令行mysql客户端在不同网络上的另一台服务器上使用SSL连接到它,但是每次我尝试连接时(使用PHP 5.3) .3)我不断得到: 警告:mysqli_real_connect():(HY000 / 2026):第18行上的/var/www/html/test.php中的SSL连接错误

  • 我在为我当前的django项目进行迁移时遇到了一个错误。 回溯(最近的调用为last):文件“manage.py”,第15行,在execute_from_command_line(sys.argv)文件“C:\users\elukamis\appdata\local\programs\python\python37-32\lib\site-packages\django\core\manageme

  • 几年前,我已经在Codeigniter(php)中实现了推送通知到我的项目中,直到10天前,一切都运行良好。我的文件在我的本地服务器以及在线通知工具上运行良好。 错误:"stream_socket_client():无法连接到ssl://gateway.push.apple.com:2195(连接拒绝)"。 我正在使用以下功能:

  • 我目前正试图找到一个替代我的android应用程序后端。目前,我使用php servlets查询Mysql数据库。数据库(Mysql)托管在我学院的一台计算机上,所以我不能更改任何配置,因为我不是管理员。我只能编辑自己的表。 我试图使用以下代码创建一个java RESTful服务器:

  • 问题内容: 我正在尝试测试安全的网络套接字,但是遇到了麻烦。这是我的测试: 创建后,这是“ ws”的日志: 我没有从打开回来的日志。我正在本地运行该项目,并且当我使用Chrome Advanced Rest Client工具时,可以正常连接。 我想念什么吗?请帮忙。 编辑: 我添加并注销, 我也尝试遵循此代码,但得到相同的错误。 问题答案: 该模块正在拒绝您的自签名证书(正如人们希望的那样)。您可