344290
场景是这样的,由于安全,公司的远程机器 只开放了 ssh 2289 端口, 而mysql 服务所在的 3306被封了
我的egg.js 希望能够访问到远程的库,不知道如何办?
我上网搜索了, 可以使用 tunnel-ssh 创建通道后进行连接,但是很多地方不懂
我在 egg.js/config.default.js 内写了如下代码
config.sequelize = { dialect: 'mysql', // support: mysql, mariadb, postgres, mssql database: 'some platform', host: '127.0.0.1', port: 3306, username: 'root', password: 'sercet', };
// if (nowEnv.ip === '211.159.232.30') { const sshConfig = { user: 'user', Password: 'sercet', host: 'sercet', port: 2289, dstHost: 'sercet', dstPort: 3306, localHost: '127.0.0.1', localPort: 3306, };
tunnel(sshConfig, function(error, server) { if (error) { console.log(error); } else { // do something } });
目前是 ssh 已经可以连上了,但是无法访问数据服务,报错:
我的问题:
- 如何成功连上数据库
- dstHost、 dstPort、localHost、localPort 等字段是什么意思,不太熟悉