从Node.js docker服务连接到Mongodb地图集

时间:2018-04-14 16:40:31

标签: node.js mongodb docker mongodb-atlas

所以我正在学习node.js,docker和mongodb。我有些疑惑。 我有三个服务任务(副本)(docker服务中的node.js)。该服务应该访问一个mongodb数据库。我有两个选项:

  1. 使用地图集 - 这对我来说听起来很简单,因为我是初学者。
  2. 使用mongodb容器 - 我认为可以多做一些工作。
  3. 所以问题是我是否使用MongoDB图集并连接到托管在atlas上的数据库是默认情况下node.js和atlas安全之间的数据传输?应该做些什么来“保护”节点之间的数据传输.js集装箱服务和Mongodb地图集? 如果我选择上面的第二个选项,那么所有三个副本/任务是否只与一个mongodb容器通信?

1 个答案:

答案 0 :(得分:0)

  

默认情况下是在node.js和atlas secure之间传输数据吗?

在不了解您的应用环境的情况下,我无法对网络方面的安全性发表评论。

但对于MongoDB Atlas,它默认启用了TLS/SSL和身份验证(SCRAM)(并且无法禁用)。

从客户端到Atlas的流量在传输和流量中经过身份验证和加密 客户内部管理的MongoDB之间 节点也在运行中进行身份验证和加密 TLS / SSL。

此外,根据您在Atlas(AWS,GCP或Azure)中选择的云提供商,他们每个都在静态功能(transparent disk encryption)中提供不同的加密。

请注意,MongoDB Atlas提供了其他安全功能,即IP Whitelisting。另请参阅MongoDB Atlas: Security Features and SetupMongoDB Atlas Security Controls

  

如果我选择上面的第二个选项,那么所有三个副本/任务是否只与一个mongodb容器通信?

我不确定我是否理解这个问题。拥有副本集的目的是提供High Availability(在主要故障转移的情况下,另一个将自动接管)。将所有三个副本集节点部署到单个Docker容器中将无法实现此目的。