首页 > 解决方案 > 通过使用 PASSPHRASE 启用 SSL 连接到 MySQL 时出错

问题描述

var pool  = mysql.createPool({
connectionLimit : config["mysql"]["connection-limit"],
host            : config["mysql"]["host"],
user            : config["mysql"]["username"],
password        : config["mysql"]["password"],
database        : config["mysql"]["database"],
port            : config["mysql"]["port"],
ssl             : {
    ca          : fs.readFileSync(__dirname + '/certs/ca.pem'),
    cert        : fs.readFileSync(__dirname + '/certs/client.crt'),
    key         : fs.readFileSync(__dirname + '/certs/client.key')
},
connectTimeout: 100000,
acquireTimeout: 100000
});

这是我用来连接具有服务器证书的 mysql 服务器的 mysql createpool。由于此处启用了 PASSPHRASE,我无法在 Internet 上找到在 ssl {} 中传递 PASSPHARSE 的选项。有人可以帮我输入关键字吗?

标签: mysqlnode.jssslopensslssl-certificate

解决方案


一旦我发布了这个问题,我就通过在此处查看 mariaDB 的文档找到了答案 - https://mariadb.com/kb/en/nodejs-connection-options/

您只需要关键字“密码短语”并将您的值传递给它。

没有删除这个问题,因为所有启用了 mysql ssl 配置的文档都没有启用密码。当您启用密码时,此 ssl {} 将是配置。


推荐阅读