1
私はあるサーバーからmysqlデータベースを照会する必要があります。 mysqlデータベースは別のネットワーク上にあります。私は特定のサーバーからのみこのネットワークに接続できます。Nodejs - mysql2ストリーム接続とリモートホスト
サーバ1からサーバ2にトンネルを作成し、このトンネルを使用してmysqlデータベースに接続する必要があります。
これは私の現在のコードです。これにより、サーバ2のローカルmysqlサーバに接続できますが、リモートmysqlサーバには接続できません。代わりにmysql.createConnection()
にhost
を渡す
var Client = require('ssh2').Client,
mysql = require('mysql2'),
var client = new Client();
var ssh = client.connect({
host: config.server_tunnel.dstHost,
port: 22,
username: config.server_tunnel.username,
privateKey: config.server_tunnel.privateKey
});
ssh.forwardOut('127.0.0.1', 12345, '127.0.0.1', 3306, function (err, stream) {
mysql.createConnection({
user: config.database.username,
password: config.database.password,
database: config.database.database,
stream: stream,
host: 'remote.host.com'
});
});
パーフェクトは、それが今、あなたがそれを指摘してきた総理にかなっています。ありがとうございました。 – CharliePrynn