Невозможно подключить приложение Django к Azure Database for MySQL с сертификатом SSL
Я хочу использовать SSL-соединение с моей базой данных Azure Database для MySQL. Я выполнил все шаги, описанные в Microsoft docs
Я подключил публичный сертификат в Workbench и, кажется, все в порядке:
Я также проверил статус в mysql CLI и в SSL я вижу Cipher in use is TLS_AES_256_GCM_SHA384.
но когда я пытаюсь запустить сервер, я получаю ошибку:
django.db.utils.OperationalError: (9002, 'SSL connection is required. Please specify SSL options and retry.')
файл settings.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': config('DB_NAME'),
'USER': config('DB_USER'),
'PASSWORD': config('DB_PASSWORD'),
'HOST': config('DB_HOST'),
'PORT': config('DB_PORT'),
'OPTIONS': {
'charset': 'utf8mb4',
'init_command': 'SET character_set_connection=utf8mb4;'
'SET collation_connection=utf8mb4_unicode_ci;'
"SET NAMES 'utf8mb4';"
"SET CHARACTER SET utf8mb4;"},
'ssl': {
'ca': '/var/www/html/BaltimoreCyberTrustRoot.crt.pem'
}
}
}
Я предполагаю, что что-то не так с ca path, но я не уверен, как я должен изменить его.
Я пытался подключиться к MySQL db с сертификатом, используя эту команду в mysql CLI (как было предложено здесь), но когда я ввожу сервер и имя пользователя, он выдает синтаксическую ошибку (я ввожу именно то, что указано ниже).
mysql -h mydemoserver.mysql.database.azure.com -u Username@mydemoserver -p --ssl-ca=/opt/ssl/BaltimoreCyberTrustRoot.crt.pem
