MySQL Azure 的 SSL 连接在 Node.js 应用程序中失败

SSL Connection to MySQL Azure failing in Node.js application

按照 Microsoft 为其新 Azure MySQL 产品提供的所有文档,我不断收到相同的错误

Error: 140736265921472:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:../deps/openssl/openssl/ssl/s23_clnt.c:794

我已经在 Linux docker 容器上试过了,以防我在 macOS 上遇到问题。

示例代码,我已经尝试将其与我的应用程序隔离开来以确保:

var mysql = require('mysql2');

var conn = mysql.createConnection({
  host: "mydbname.mysql.database.azure.com",
  user: "user@mydbname",
  password: 'password',
  database: 'dbname',
  port: 3306,
  ssl: {
    ca: fs.readFileSync('./BaltimoreCyberTrustRoot.crt'),
  }
});

我遵循的文档:

https://docs.microsoft.com/en-us/azure/mysql/howto-configure-ssl https://docs.microsoft.com/en-us/azure/mysql/howto-connection-string

我已经尝试了 mysqlmysql2 节点驱动程序,但都没有成功。有人解决了吗?

感谢您报告问题。该错误已在我们的内部测试中暴露并已修复。我们将在这几天部署修复程序,我们会及时通知您。同时,如果可以的话,请使用非 ssl 模式来缓解。谢谢!

-----编辑-----

您好,已部署修复程序。请试用!谢谢。