Я пытаюсь подключиться к серверу Google Cloud MYSQL, используя SSL-сертификаты и модуль python PyMySQL со следующей строкой:
connection = pymysql.connect(host=os.environ['SQL_HOST_IP'], user=os.environ['SQL_USER'], password = os.environ['SQL_PASSWORD'],
db='main', charset='utf8mb4', cursorclass=pymysql.cursors.DictCursor,
ssl={'key': 'client-key.pem', 'cert': 'client-cert.pem', 'ca': 'server-ca.pem'})
К сожалению, я продолжаю получать следующую ошибку:
ssl.CertificateError: hostname 'SQL_IP_ADDRESS' doesn't match '$ALIAS_FROM_SELF_SIGNED_SSL_CERT'
Я искал проблему, но не могу найти исправление, которое не требует исправления кода ssl для пропуска проверки ssl. Я явно указываю IP-адрес хоста SQL, но проверка ssl останавливается во время ssl.match_hostname, поскольку сертификаты ssl самоподписываются с другим именем хоста.
Я уверен, что мои ключи действительны, так как я могу подключиться к ним с помощью Ruby (Windows/Linux) и CLI linux mysql. Кажется, это проблема с ssl.match_hostname. Это похоже на этот вопрос и этот, но оба обходят проблему стороной.
Есть ли способ правильно обрабатывать самозаверяющие сертификаты SSL в Python.