0

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

  1. 使用地图集——这对我来说听起来很简单,因为我是初学者。
  2. 使用 mongodb 容器——我相信这可能需要更多的工作。

所以问题是,如果我使用 MongoDB atlas 并连接到托管在 atlas 上的数据库,node.js 和 atlas 之间的数据传输是否默认安全?应该做些什么来“保护”node.js 容器之间的数据传输服务和MongoDB地图集?如果我选择上面的第二个选项,所有三个副本/任务是否应该只与一个 mongodb 容器通信?

4

1 回答 1

0

默认情况下,node.js 和 atlas 之间的数据传输是否安全?

在不了解您的应用程序环境的情况下,我无法评论您网络端的安全性。

但是对于MongoDB Atlas,它使用TLS/SSL和默认启用的身份验证 ( SCRAM )(并且不能禁用)。

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

还取决于您在 Atlas(AWS、GCP 或 Azure)中选择的云提供商,它们各自提供不同的静态加密功能(透明磁盘加密)。

请注意,MongoDB Atlas 还提供了其他安全功能,即IP 白名单。另请参阅MongoDB Atlas:安全功能和设置MongoDB Atlas 安全控制

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

我不确定我是否理解这个问题。拥有副本集的目的是提供高可用性(在主故障转移的情况下,另一个将自动接管)。将副本集的所有三个节点都部署到单个 Docker 容器中会破坏这个目的。

于 2018-04-20T00:01:54.243 回答