使用WAN作为内部networking

假设我有一个用于服务客户端的小型Web基础架构,其中包含nginx作为前端服务器,几个后端(上游),一个消息传递系统,db等等。

这个东西位于两个专用服务器上。 服务器之间有局域网,每个服务器至less有一个公共IP地址。 而且所有的公网地址都在同一个广播网段(通过交换机连接或在VLAN中 – 无关紧要)。 这两个networking上的延迟是相同的。

我有两个select在系统的各个部分之间进行通信:在所有configuration中使用本地IP,或使用公有IP。 在第一种情况下,我会有一些更复杂的基础设施(由两个networking引起的)。 在第二种情况下,我的系统将更加透明,但是我担心networking通信的隐私。

它是否存在使用这种或那种方法的一些规则或最佳实践?

使用第二个networking进行内部通信。 您可以减less面向公众的界面上的攻击面,并且可以更轻松地监视/调整通信。 你绝对不想打开你的数据库端口,消息服务器,或其他任何公众。 事实上,除了非常前端的服务器(nginx)之外,不要把任何东西放在公众面前。

你不希望你的系统对用户是透明的。 你希望你的系统成为一个神秘的黑盒子,只需要一个小小的窥视孔来进行必要的交互。