«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Почему я получаю сообщение об ошибке установления связи TLS после обновления базы данных SQL Azure до версии 12?

Почему я получаю сообщение об ошибке установления связи TLS после обновления базы данных SQL Azure до версии 12?

Опубликовано 21 декабря 2024 г.
Просматривать:899

Why am I getting a TLS Handshake error after upgrading my Azure SQL Database to v12?

Ошибка установления связи TLS базы данных SQL Azure после обновления до версии 12.

Вы можете столкнуться с ошибкой установления связи TLS после обновления экземпляра базы данных SQL Azure до версии 12. . Эта ошибка возникает, когда сертификат, представленный сервером, не соответствует имени хоста, указанному в строке подключения клиента.

Сведения об ошибке

Сообщение об ошибке обычно указывает на то, что сертификат действителен для имени хоста, отличного от того, которое используется в клиентском соединении. Например:

TLS Handshake failed: x509: certificate is valid for
tr12.northcentralus1-a.worker.database.windows.net,
*.tr12.northcentralus1-a.worker.database.windows.net, not [server-name].database.windows.net

Решение

Чтобы решить эту проблему проблема, обновите строку подключения клиента, включив в нее следующее параметры:

  • TrustServerCertificate=True: Этот параметр сообщает клиенту доверять сертификату сервера, даже если он не соответствует имени хоста.
  • hostNameInCertificate=*.database.windows.net: Этот параметр указывает имя хоста, которое должно присутствовать в сертификат.

Обновленная строка подключения

Обновленная строка подключения должна выглядеть примерно так:

Server=[server-name].database.windows.net;Port=1433;Database=[dbname];User
ID=[user];Password=[pass];Trusted_Connection=False;Encrypt=True;Connection
Timeout=30;TrustServerCertificate=True;hostNameInCertificate=*.database.windows.net;

Объяснение

В предыдущих версиях базы данных SQL Azure сертификат сервера всегда совпадал имя хоста, указанное в строке подключения клиента. Однако в версии 12 это уже не гарантируется. Установив для TrustServerCertificate значение True и указав правильное имя хоста в HostNameInCertificate, вы можете поручить клиенту принять сертификат и правильно установить соединение.

Примечание:

Хотя Портал Azure предлагает установить для TrustServerCertificate значение False. В некоторых случаях это может привести к ошибкам установления связи TLS. Если вы столкнулись с этими ошибками, установите для TrustServerCertificate значение True и добавьте hostNameInCertificate в строку подключения, чтобы решить проблему.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3