mysql - SSL 连接错误 : SSL_CTX_set_tmp_dh failed

标签 mysql azure

我正在尝试在 Azure 上部署基于 Django 的 Web 应用程序。

我使用 Github 方法部署了应用程序,并且部署正确。现在我在那里创建了一个 Mysql Azure Database for MySQL。它已启动并正在运行,我什至添加了 IP 地址以使其能够连接。我也可以通过 MySQL Workbench 连接它。

但问题是,当我尝试将应用程序连接到数据库时,它给出了 django.db.utils.OperationalError: (2026, 'SSL connection error: SSL_CTX_set_tmp_dh failed') 错误。我也尝试通过门户禁用 mysql 上的 SSL 连接,但没有任何区别。

我尝试添加官方doc也。将我的数据库连接参数更改为

   DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': '<name>',
        'USER': '<user>',
        'PASSWORD': '<pass>',
        'HOST': '<host>',
        'PORT': '3306',
        'OPTIONS': {
            'ssl': {
                'ssl-ca': '/path/on/local/machine/BaltimoreCyberTrustRoot.crt.pem'} #I change the path when deploying on server
        }
    }
}

但是无法连接。

我偶然发现this回答 2-3 次,但它还需要我 ssh 进入实例,然后运行命令,而当它在 azure 上时我无法执行此操作。

最佳答案

如果有人偶然发现这一点,您应该查看版本不匹配的情况。

在我的例子中,下面是我通过点击和试用找到的工作版本。

mysql-connector-python==8.0.13
mysqlclient==1.3.14
pyOpenSSL==19.0.0

关于mysql - SSL 连接错误 : SSL_CTX_set_tmp_dh failed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58857087/

相关文章:

mysql - 带有两个表的简单数据库应该是什么样子?

mysql - 在一个查询中计算 mysql 中按 user_id 分组的多个表的不同总数

azure - 数据工厂无法将最后一列后带有逗号的 `csv` 复制到 SQL 数据仓库

azure - 与每个订阅的多个自动化帐户相关的架构决策

azure - Azure 移动服务中的增量加载

php - Magento - 基表 core_file_storage 不存在

mysql - 搜索嵌套集

php - 另一个符号问题

azure - 如何在 Azure 逻辑应用程序中按行解析文本?

azure - Azure 自动化帐户中的 Runbook 和变量数量是否有限制?