You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js MySQL连接池如何设置对应JDBC的useSSL=true?

在Node.js MySQL连接池中开启SSL的方法

要实现对应JDBC中useSSL=true的SSL连接,你可以通过在连接池配置中添加ssl参数来完成,分两种常见场景处理:

1. 基础开启SSL(对应useSSL=true)

如果你的MySQL服务器使用权威CA颁发的证书,直接在配置中设置ssl: true即可:

mysql.createPool({
    host: dbHost,
    user: dbUser,
    password: dbPassword,
    database: dbName,
    port: dbPort,
    timezone: 'utc',
    ssl: true // 开启SSL连接,等效于JDBC的useSSL=true
});

2. 自签证书场景

如果服务器使用自签SSL证书,需要指定CA证书文件路径来完成验证:

const fs = require('fs');

mysql.createPool({
    host: dbHost,
    user: dbUser,
    password: dbPassword,
    database: dbName,
    port: dbPort,
    timezone: 'utc',
    ssl: {
        ca: fs.readFileSync('/path/to/your/ca-cert.pem') // 替换为实际的CA证书路径
    }
});

额外说明

  • 若服务器要求双向SSL认证(即客户端需提供证书),可在ssl对象中添加cert(客户端证书)和key(客户端密钥)参数,同样用fs.readFileSync读取对应文件。
  • 生产环境中禁止使用ssl: { rejectUnauthorized: false }跳过证书验证,这会引入严重安全风险。

内容的提问来源于stack exchange,提问作者Sumith Chalil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 05:35:29