SSL连接错误:SSL_CTX_set_tmp_dh失败

时间:2019-11-14 12:42:54

标签: mysql azure

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

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

但是问题是,当尝试将应用程序连接到数据库时,它给了我django.db.utils.OperationalError: (2026, 'SSL connection error: SSL_CTX_set_tmp_dh failed')错误。我也尝试通过门户网站在disabling上通过MySQL在SSL上进行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转换为实例,然后运行命令,而当它处于天蓝色时,我只是做不到。

1 个答案:

答案 0 :(得分:0)

万一有人偶然发现,您应该查看版本不匹配。

在我的情况下,下面是我通过点击和试用得出的工作版本。

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