通过SSL将Django连接到RDS时拒绝访问

时间:2017-02-14 11:47:35

标签: django amazon-rds-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': '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',
            }
        }
    }
}

我也看过像this这样的类似问题,但没有效果

我还尝试使用mysql-connector-pythonmysql.connector.django作为数据库引擎进行连接,并确保我正在设置正确的配置(设置OPTIONS的{​​{1}}和ssl_ca)但我也有类似的错误:

ssl_verify_cert

我尝试使用PHP和命令行连接到数据库,它工作正常:

 mysql.connector.errors.ProgrammingError: 1045 (28000): Access denied for user 'admin'@'xx.xx.xx.xx' (using password: YES)

我是否遗漏了Django的任何配置?

1 个答案:

答案 0 :(得分:0)

我没有直接回答你的问题,但显然当MySQL客户端没有启用ssl时(如MySQL命令行和你的PHP解决方案),Aurora没有做出有意义的响应(或正确?)。 p>

所以我的建议是以某种方式强制Django使用的MySQL客户端使用SSL连接,显然它默认没有启用/强制(你使用的选项可能不够用)。