通过SSL将Django连接到RDS时拒绝访问
我正在尝试将Django连接到AWS Aurora服务器(RDS Aurora 5.6.10a),但我得到了通过SSL将Django连接到RDS时拒绝访问,django,amazon-aurora,Django,Amazon Aurora,我正在尝试将Django连接到AWS Aurora服务器(RDS Aurora 5.6.10a),但我得到了 django.db.utils.OperationalError: (1045, "Access denied for user 'admin'@'xx.xx.xx.xx' (using password: YES) 在Django settings.py中,我使用了以下设置 DATABASES = { 'default': { 'ENGINE': 'djang
django.db.utils.OperationalError: (1045, "Access denied for user 'admin'@'xx.xx.xx.xx' (using password: YES)
在Django settings.py中,我使用了以下设置
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': MYSQL_DATABASE,
'USER': MYSQL_USER,
'PASSWORD': MYSQL_PASSWORD,
'HOST': MYSQL_SERVER,
'PORT': '3306',
'OPTIONS': {
'ssl': {
'ca': '/Users/mac-user/workspace/project/settings/rds-combined-ca-bundle.pem',
}
}
}
}
我也研究过类似的问题,比如,但不起作用
我还尝试使用mysql-connector-python
和mysql.connector.django
作为数据库引擎进行连接,并确保设置了正确的配置(设置OPTIONS
的ssl\u-ca
和ssl\u-verify\u-cert
),但我也遇到了类似的错误:
mysql.connector.errors.ProgrammingError: 1045 (28000): Access denied for user 'admin'@'xx.xx.xx.xx' (using password: YES)
我尝试使用PHP和命令行连接到数据库,效果很好:
mysql -h '<host>' -u '<username>' -p'<password>' --ssl-ca='<SSL_certificate_absolute_path>'
mysql-h'-u'-p'-sslca=''
我是否缺少Django的任何配置?我对您的问题没有直接的答案,但显然,当MySQL客户端没有启用ssl(如MySQL命令行和您的PHP解决方案)时,Aurora没有做出有意义的(或正确的)响应
因此,我的建议是以某种方式强制Django使用的MySQL客户端使用SSL连接,显然默认情况下它没有启用/强制(您使用的选项可能不够)。我没有直接回答您的问题,但显然,当MySQL客户端没有启用SSL时,Aurora没有做出有意义的响应(或正确的响应)(比如MySQL命令行和PHP解决方案) 因此,我的建议是以某种方式强制Django使用的MySQL客户端使用SSL连接,显然默认情况下它没有启用/强制(您使用的选项可能不够)