如何使用后缀连接到Azure MySQL?
来自Azure nodejs的示例:
const mysql = require('mysql2');
var config =
{
host: 'myserver4demo.mysql.database.azure.com',
user: 'myadmin@myserver4demo',
password: 'your_password',
database: 'quickstartdb',
port: 3306,
ssl: true
};什么是后缀的配置:
我试过使用ssl,但没有成功:
ssl: true,我发现了一个错误:
Unable to connect to database: SequelizeConnectionError: SSL connection is required. Please specify SSL options and retry.我得到这份工作:
dialectOptions: {
encrypt: true,
ssl : {
rejectUnauthorized: false
}
},但是在哪里能找到证书呢?
发布于 2017-08-21 09:39:43
var conn = mysql.createConnection({
host: 'myserver4demo.mysql.database.azure.com',
user: 'myadmin@myserver4demo',
password: 'your_password',
database: 'quickstartdb',
port: 3306,
ssl: {
key: fs.readFileSync('./certs/client-key.pem'),
cert: fs.readFileSync('./certs/client-cert.pem')
}
});发布于 2019-12-29 11:11:22
对我们来说,解决方案是提供dialectOptions I.
{
"host":<hostname>,
"port":<port>,
"user":<username>,
"password":<password>,
"port": 3306,
"dialect": "mysql",
"ssl": true,
"dialectOptions": {
"ssl": {
"require": true
}
}
}发布于 2019-12-15 14:33:06
Sequelize文档在SSL方面是缺乏的,并且接受的答案并不像注释状态那样用于续写。
我也很难知道如何添加SSL选项,但我很清楚地发现了一个包含代码片段的Github问题。
const config = {
username: process.env["DB_USER"],
password: process.env["DB_PASS"],
host: process.env["DB_HOST"],
dialect: "mysql",
database: dbs[process.env["USE_DB"]],
pool: {
max: 5,
idle: 30000,
acquire: 60000
},
dialectOptions: {
ssl: {
ca: fs.readFileSync(__dirname + '/ssl/BaltimoreCyberTrustRoot.crt.pem')
}
}
}https://stackoverflow.com/questions/45792547
复制相似问题