"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Por qué recibo un error de protocolo de enlace TLS después de actualizar mi base de datos Azure SQL a v12?

¿Por qué recibo un error de protocolo de enlace TLS después de actualizar mi base de datos Azure SQL a v12?

Publicado el 2024-12-21
Navegar:121

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

Error de protocolo de enlace TLS de Azure SQL Database después de la actualización v12

Es posible que encuentre un error de protocolo de enlace TLS después de que una instancia de Azure SQL Database se actualice a v12 . Este error ocurre cuando el certificado presentado por el servidor no coincide con el nombre de host especificado en la cadena de conexión del cliente.

Detalles del error

El mensaje de error generalmente indica que el El certificado es válido para un nombre de host distinto del utilizado en la conexión del cliente. Por ejemplo:

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

Solución

Para resolver esto problema, actualice la cadena de conexión del cliente para incluir lo siguiente parámetros:

  • TrustServerCertificate=True: Este parámetro le dice al cliente que confíe en el certificado del servidor, incluso si no coincide con el nombre de host.
  • hostNameInCertificate=*.database.windows.net: Este parámetro especifica el nombre de host que debe estar presente en el servidor certificado.

Cadena de conexión actualizada

La cadena de conexión actualizada debería verse así:

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;

Explicación

En versiones anteriores de Azure SQL Database, el certificado del servidor siempre coincidía el nombre de host especificado en la cadena de conexión del cliente. Sin embargo, en la versión 12, esto ya no está garantizado. Al configurar TrustServerCertificate en True y especificar el nombre de host correcto en hostNameInCertificate, puede indicarle al cliente que acepte el certificado y establezca la conexión correctamente.

Nota:

Aunque el Azure Portal sugiere configurar TrustServerCertificate en False; esto puede provocar errores de protocolo de enlace TLS en algunos casos. Si encuentra estos errores, configurar TrustServerCertificate en True y agregar hostNameInCertificate a la cadena de conexión debería resolver el problema.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3