当前位置: 首页 > 知识库问答 >
问题:

将节点VM连接到VPN Azure上的SQL VM

董嘉祯
2023-03-14

我在Azure上有两个VM:机器a:运行Nodejs应用程序的服务器机器B:运行mysql实例的VM

机器A和B在同一个VPN中,都有本地地址。我使用ping测试了从机器A到机器B的连接,它工作了。

我的问题是关于nodejs应用程序和mysql实例的数据库连接。

var express = require('express'),
  config = require('./config/config'),
  db = require('./app/models');

var app = express();

module.exports = require('./config/express')(app, config);

db.sequelize
  .sync()
  .then(function () {
    if (!module.parent) {
      app.listen(config.port, function () {
        console.log('Express server listening on port ' + config.port);
      });
    }
  }).catch(function (e) {
    throw new Error(e);
  });
var path = require('path'),
    rootPath = path.normalize(__dirname + '/..'),
    env = process.env.NODE_ENV || 'production';

var config = {
  development: {
    root: rootPath,
    app: {
      name: 'api-http-revo'
    },
    port: process.env.PORT || 3000,
    db: 'mysql://localhost/api-http-revo-development'
  },

  test: {
    root: rootPath,
    app: {
      name: 'api-http-revo'
    },
    port: process.env.PORT || 3000,
    db: 'mysql://localhost/api-http-revo-test'
  },

  production: {
    root: rootPath,
    app: {
      name: 'api-http-revo'
    },
    port: process.env.PORT || 3000,
    db: {
      host: '10.0.0.4', //Local Ip address on VPN
      user: 'myusername',
      password: 'mypassword',
      database: 'db-revo',
      port: 3306
    }
  }
};

module.exports = config[env];

“npm start”出错:

未处理的拒绝错误:SequelizeConnectionRefuseDerror:connect EconnRefered 10.0.0.4:3306在/home/giovannimarino/api-http-revo/node_modules/bluebird/js/release/util.js:20:11在tryCatcher(/home/giovannimarino/api-http-revo/node_modules/bluebird/util.js:16:23)在promission._settlepromissionpi-http-revo/node_modules/bluebird/js/release/async.js:17:14)在processImmediate[as_immediateCallback](timers.js:383:17)

下面的截图是防火墙配置:

共有1个答案

姜凯风
2023-03-14

这可能是由于防火墙阻止了您的DB连接。要确认,在端口3306上执行telnet操作,如果发现端口阻塞,则设置入站规则,允许两个系统上的端口3306上的网络流量。

有关如何设置网络通信规则的详细信息,请参阅此处。

 类似资料:
  • 当我试图在Eclipse上调试任何项目时,突然开始出现这个奇怪的错误。我不记得为了这个问题突然开始而改变了什么。 错误得详细信息: 谢谢 索萨

  • 本文向大家介绍Elixir连接不同机器上的节点,包括了Elixir连接不同机器上的节点的使用技巧和注意事项,需要的朋友参考一下 例子 在一个IP地址上启动命名进程: 在另一个IP地址上启动另一个命名进程:            

  • 我正在寻找一个算法来检查任何有效的连接(最短或最长)之间的两个任意节点在一个图上。 我的图被固定为一个具有逻辑(x,y)坐标的网格,具有北/南/东/西连接,但是节点可以随机移除,所以你不能假设取离目标最近的coords的边总是会让你到达那里。 代码是用Python编写的。数据结构是每个节点(对象)都有一个连接节点的列表。列表元素是对象引用,因此我们可以递归地搜索该节点的连接节点列表,如下所示: 尽

  • 问题内容: 我一直在尝试将jdb连接到android仿真器一段时间,并反复遇到以下问题: 不太好。解决这个问题的最佳方法是什么?我在Windows 7 64bit上运行。 问题答案: 目前,这对我来说是有效的-建立套接字而不是共享内存连接。 jdb –sourcepath。\ src -connect com.sun.jdi.SocketAttach:hostname = localhost,po

  • EasyReact 的重点就是让节点之间的数据流动起来,所以连接节点是很重要的。 如何连接两个节点 两个节点是通过变换来连接的,在源码目录 EasyReact/Classes/Core/NodeTransforms 中我们默认实现了了很多的变换,你也可以通过继承 EZRTransform 类来实现自己的变换,一旦我们创建好一个变换后,就可以通过如下方式进行连接了: EZRMutableNode<N

  • 我正在尝试将两台vm机器相互连接(在win10上同时运行)。我下载了java JDK 15和 selenium-server-4.0.0-alpha-6.jar 我正在运行我的集线器,复制我在那里得到的TCP URL(tcp://hub:4442/3)到我的第二台机器。 但在运行node命令后,我收到了以下消息: 开始节点ID X的注册过程 一切都悬而未决。。。我试过使用Test NetConne