从远程服务器端访问本地主机

问题描述:

我没有在该主题上找到任何明确的信息,因此我宁愿在将应用程序部署到远程服务器之前询问。从远程服务器端访问本地主机

我想我的流星网络应用程序与influx进行交互&即使应用程序在远程服务器上运行,用户的计算机上本地运行的mongo数据库(实际上,该机器实际上是一个码头容器)。但似乎连接到给定的url不可能在客户端脚本内部(当我执行新的InfluxDB(...)或MongoClient.connect(...)时,发送给我一个错误。

它如果连接是从服务器端进行的,但工作正常,但现在我的应用只在本地进行开发,所以这并不奇怪。当应用部署在远程服务器上时,它仍然可能吗?否则,是否有简单?!?解决方案来达到这些本地机器

感谢您的帮助

对于远程服务器来访问你的本地计算机上,你不能用户本地主机,你需要有一个专门的公网IP,或指向你的公网IP DynDNS的,并连接到该地址。

您还必须在面向Internet的路由器的端口转发到您的计算机内网IP地址打开一个整体。

而且也是在防火墙(在Windows/Linux)的这些连接打开一个整体,通过并到达蒙戈或InFluxDb。

我个人不rcomend这样做,由于安全性问题,我实在看不出做这样的事情的任何好处。

+0

我同意。这听起来很笨拙。问题是我想使用JavaScript API制作远程数据库的本地副本,并且我需要连接到本地副本。但是当我试图在客户端脚本中连接到本地主机时,我发现了一些问题。但是,在这种情况下,该应用程序应该在远程服务器上运行,并在用户的计算机上本地运行(我想将数据从服务器传输到计算机以启用脱机使用),因此我想我会尝试构建这些副本在服务器上,然后用本地版本的应用下载。 – Johenn

+0

您还可以探索对备份箱进行备份 – Juan

你的意思是你想用你的服务器端代码操纵Mongo的数据库客户端如果是这样,请检查:

  1. 做客户端的机器有Mongo的数据库?
  2. 是数据库运行?
  3. 数据库是否打开其端口?
  4. 是你的连接配置是否正确?

最好显示您的代码,以便我可以检查是否有任何问题。

+0

这的确是我试图这样做,因为当我运行下面的命令,例如不工作,从客户端:常量localMongo = Mongo.MongoClient.connect(“mongodb的://根:根@ 192.168.99.100:27017/mongodb的“);我得到错误TypeError:net.createConnection不是一个函数。似乎这个函数不能在浏览器中运行,并且必须放在服务器端脚本中。 – Johenn

+0

代码无法在客户端(浏览器)中运行。 如果你想操纵你的客户端(浏览器)的数据,把代码放到服务器端,并用一个函数包装它,让我们说changeData()。如果您想更改mongo中的数据,只需从您的客户端(浏览器)使用Metear.call('changeData')调用此函数,这可能会解决您的问题。 –