我正在尝试在 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/