NodeGSアプリケーションをSecureGatewayを使用してOracle DBに接続しようとしていますが、機能しません。SecureGatewayを使用してNodeJSアプリケーションとOracleDBを接続する
私がテストを実行し、私は私の接続をテストするための
var exec = require('child_process').exec;
var sys = require('sys');
function puts(error, stdout, stderr) { sys.puts(stdout) }
exec("ping 192.168.10.8", puts);
を実行したとき、私は結果を持っていません。だから、私は自分のアプリと私のゲートウェイの間の接続を作成していないと思う。
DataConnectで実行していたときは正常に動作していました。
私はrequire('bluemix-secure-gateway')
を使用して私のサーバーから情報を取得します。
トンネルを作成するために使用されている機能は
const tls = require('tls');
const net = require('net');
var creations = 0; // a running count of the number of open connections, when it becomes 0, the tunnel is closed.
var server; // a server listening for certificate requests from the gateway server
exports.create = function(port, options, callback) {
if(creations == 0) {
creations++;
//server not currently running, create one
server = net.createServer(function (conn) {
connectFarside(conn, options, function(err, socket) {
socket.pipe(conn);
conn.pipe(socket);
});
});
server.listen(port, function(){
callback();
});
} else{
//server already running
creations++;
callback()
}
};
function connectFarside(conn, options, callback) {
try {
var socket = tls.connect(options, function() {
callback(null, socket);
});
socket.on('error', function(err){
console.log('Socket error: ' + JSON.stringify(err));
});
} catch(err) {
callback(err);
}
};
exports.close = function(){
creations--;
if(creations == 0){
// close the server if this was
// the only connections running on it
server.close();
}
}
ある私が持っている結果は、私の地元のネットです。
Nodeアプリケーションを使用して、Secure Gatewayを呼び出してOracleDBにアクセスしようとしていますか?または、Secure Gatewayにノード・アプリケーションへの接続を確立させようとしていますか?その場合、OracleDB自体に接続されますか? –
Secure Gatewayを呼び出してOracleDBに接続しようとしました。しかし、私はOracleから地元のネットには到着していません。 –
Ricardoは、TLS接続を確立した後、どのようにデータベースと通信していますか? – Breedly