我正在尝试在Windows Azure上安装一对Win2008服务器虚拟机(使用虚拟机预览function),我不知道如何正确地获得所需的“体系结构”设置。 这就是我想要达到的目标 –
我想要一台服务器只能作为运行MongoDB的数据库服务器(我知道他们说Linux比较好,但是由于各种原因我现在只限于Windows)。
我想要第二个服务器,将作为我的networking服务器。 这个Web应用程序将会运行node.js.
数据库服务器只能接受来自Web服务器的连接,并且只能在握手成功之后才能接受连接。
我可以通过在数据库服务器上运行第二个node.js服务器来解决握手问题,该服务器基本上充当数据库的Rest API,同时validation握手,而不是。 我有一个问题搞清楚的是如何使数据库服务器只接受来自我的Web服务器的连接?
如果我们假设为数据库服务器构build了第二个node.js应用程序,考虑到我可以构build节点应用程序只接受来自特定IP地址的连接,甚至需要这种networkingconfiguration吗? 或者在别的地方维持这个规则还是有道理的?
我对networking一无所知,所以这一切都在我的头上。 我将不胜感激任何帮助,指导,链接等任何人都必须分享:)
如果将两台虚拟机放在同一个云服务中,则虚拟机可以通过虚拟机上的任何开放端口相互通信。 因此,假设您的MongoDB服务器运行在27017上,并且MongoDB虚拟机允许27017上的tcpstream量,您的Web虚拟机可以与MongoDB交谈。
现在,在端点上:只需为端口80和443创build端点,并仅在Web虚拟机上创build端点。 无需创build负载均衡端点,因为您从不希望来自外部世界的stream量到达您的MongoDB虚拟机。 此时, 唯一可以从外部访问的端口将在您的端点中定义(在本例中为80和443)。 而且,只要它们不是负载平衡端点 ,stream量就只能定向到一个虚拟机。
要更深入地了解如何设置虚拟机 ,请在虚拟机networking部分阅读Michael Washam的博客文章。
对我来说,最简单的方法是使用Windows防火墙,并确保它具有默认block all inbound connections that don't match a rule设置启用…然后创build一个规则,以允许您需要的stream量从您的数据库服务器的IP。 确保这是唯一的规则,你很好。 或者,已经完成了你要做的事情。 您可能会发现,对于完整的function来说有点过于严格,从某些其他机器上进行远程pipe理或监控可能也不是一个可怕的想法,但这是一个单独的问题。
事实上,在SuperUser上有一个关于这个主题(对于Win7)的漂亮的小问答,这个问题并不可怕,并且有截图。 在Win7和Server 2008中的界面是一样的,所以它可能是值得访问只是截图。 或者如何用IPSec来回答,甚至是。