带有Intranet DB的Node.js在线应用程序

时间:2012-07-03 10:09:47

标签: node.js mongodb intranet

我想要构建的是一个位于联机状态的应用程序,它由不同的组使用,每个组都有自己的Intranet。现在,由于一个愚蠢的安全策略,数据不能位于Intranet之外。你将如何构建一个仍然在线的应用程序,这样你就可以同时向所有人推送更新,但每个内联网的服务器上都有一个数据库? 我最初的计划是使用Node.js和MongoDB。

2 个答案:

答案 0 :(得分:0)

我现在面临着类似的问题,所以这是我对它的看法,而不是真正的mongo或节点特定。

  1. 在每个客户端的Intranet上放置一个db和一个简单的restful服务器。服务器可以完全相同。
  2. 从互联网上访问路由外观,根据网址将请求重定向到适当的服务器,即:http://facade/server/resource成为http://server/resouce的请求。
  3. 配置Facade,以便向http://facade/resource发送请求到每个服务器,检索结果并以某种聚合形式返回所有服务器。
  4. 显然还有更多细节要考虑,比如权限(每个人都可以发布到每个服务器吗?如果没有,谁可以?),但总体思路就在那里。

答案 1 :(得分:0)

如果您的数据库真的必须在现场,并且您的应用程序必须非现场,那么可能您唯一的选择是设置从您的应用程序到现场数据库的安全连接,并假装它本地托管到该应用程序。这可能/可能不违反安全策略。理论上你可以把它锁定得很好,两个网络之间有一个vpn。但这不适合胆小的人,性能会受到影响,而且确实存在安全问题。这也意味着每个网站都有一些工作。

如果您希望它“在线”的唯一原因是按照您的说明推送更新,那么您将更好地安装内部应用程序,并让它轮询到中央服务器以获取有关的通知新版本,下载自身更新,并自动安装。创建完成后,新安装不需要新工作。