【问题标题】:Connecting to Mongodb atlas from Node.js docker services从 Node.js docker 服务连接到 Mongodb atlas
【发布时间】:2018-04-20 08:01:54
【问题描述】:

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

  1. 使用 atlas - 这对我来说听起来很简单,因为我是初学者。
  2. 使用 mongodb 容器 - 我认为这可能需要更多工作。

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

【问题讨论】:

    标签: node.js mongodb docker mongodb-atlas


    【解决方案1】:

    node.js和atlas之间的数据传输默认安全吗?

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

    但是对于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 容器中将无法实现这一目的。

    【讨论】:

      猜你喜欢
      • 2019-07-20
      • 1970-01-01
      • 2017-06-28
      • 2018-09-28
      • 1970-01-01
      • 1970-01-01
      • 2019-10-17
      相关资源
      最近更新 更多