我研究这个问题已经有一天了,我还没能找到办法来做这个。
我正在构建一个react应用程序,在后端运行express,它需要访问位于VPN内部的远程数据库中的一些数据。目前,这个应用程序生活在我的本地主机上,所以我只要用openvpn客户机连接我的机器就足够了,一切都很美好。这个问题将上升,当应用程序将运行,我将需要它可以访问vpn通过(我猜)有一个vpn客户端运行在网站/域。
以前有人这样做过吗?
我已经尝试过安装节点-openvpn包,这似乎可以完成这项工作,但不幸的是,我无法设法使它工作,因为连接似乎没有正确配置。
这是我调用的连接到线路上系统故障的vpn的函数。
-> openvpnmanager.authorize(auth);
const openvpnmanager = require('node-openvpn');
...
const connectToVpn = () => {
var opts = {
host: 'wopr.remotedbserver.com',
port: 1337, //port openvpn management console
timeout: 1500, //timeout for connection - optional,
logpath: '/log.txt'
};
var auth = {
user: 'userName',
pass: 'passWord',
};
var openvpn = openvpnmanager.connect(opts);
openvpn.on('connected', function() {
console.log('connecting..');
openvpnmanager.authorize(auth); <-- Error: Unhandled "error" event. (Cannot connect)
});
openvpn.on('console-output', function(output) {
console.log(output)
});
openvpn.on('state-change', function(state) { //emits console output of openvpn state as a array
console.log(output)
});
};我是不是滥用了这个功能?有更好的办法吗?
任何帮助都将不胜感激。
谢谢!
发布于 2018-08-12 11:37:07
当应用程序运行时,问题会出现,我需要它通过(我猜)在站点/域上运行一个OpenVPN客户端来访问vpn。
没错,在运行后端的服务器上需要一个openvpn客户机实例。
上面的库()只是一个与本地OpenVPN客户端实例交互的库。它不能单独创建连接。这取决于OpenVPN二进制文件(应该正在运行)。
您需要的解决方案只是在服务器上运行OpenVPN客户机(Apt openvpn)。让守护进程运行。请查看下面的参考资料。
https://stackoverflow.com/questions/51805656
复制相似问题