所以我正在学习node.js,docker和mongodb。我有些疑惑。 我有三个服务任务(副本)(docker服务中的node.js)。该服务应该访问一个mongodb数据库。我有两个选项:
所以问题是我是否使用MongoDB图集并连接到托管在atlas上的数据库是默认情况下node.js和atlas安全之间的数据传输?应该做些什么来“保护”节点之间的数据传输.js集装箱服务和Mongodb地图集? 如果我选择上面的第二个选项,那么所有三个副本/任务是否只与一个mongodb容器通信?
答案 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 Setup和MongoDB Atlas Security Controls。
如果我选择上面的第二个选项,那么所有三个副本/任务是否只与一个mongodb容器通信?
我不确定我是否理解这个问题。拥有副本集的目的是提供High Availability(在主要故障转移的情况下,另一个将自动接管)。将所有三个副本集节点部署到单个Docker容器中将无法实现此目的。