在安全服务器中连接到 MongoDB
Posted
技术标签:
【中文标题】在安全服务器中连接到 MongoDB【英文标题】:Connect to MongoDB in secure server 【发布时间】:2022-01-22 01:22:43 【问题描述】:我在服务器的两个不同端口上有两个 MongoDB 实例,服务器的路由器只允许连接到端口 80 和 433。现在我想从我的计算机连接到这些实例。我正在考虑使用 nginx 代理从子域的连接,例如https://example.com/mongodb1,https://example.com/mongodb1,到服务器的特定端口,但这似乎是不可能的,因为 MongoDB 只通过 TCP 接收连接,而子域配置属于 http /https。
有什么建议吗?
【问题讨论】:
【参考方案1】:您可以设置运行 MongoDB 的端口https://docs.mongodb.com/manual/reference/configuration-options/#net.port
net:
port: 80
但是,很可能 HTTP 服务器已经在监听这个端口,所以你不能使用它。除此之外,防火墙可能会检查数据包内容,并在检测到非 HTTP 流量时将其阻止。
正确的方法是在防火墙中打开端口(默认为 27017)。
【讨论】:
您对在安全服务器(生产服务器)上使用 MongoDB GUI(或任何类型的数据库 GUI)有什么建议吗?还是不推荐,因为最终答案似乎是打开新端口,不应该在生产中完成? 不清楚你的问题是什么。 MongoDB 也作为云服务提供,因此有数百万 Mongo 客户端通过 Internet 安全地连接到 MongoDB。 我正在寻找一种解决方案,可以在不打开新端口的情况下从 GUI 连接到数据库服务器,在我们的例子中是 MongoDB。我们正在使用一个“封闭”的 Ubuntu 服务器,它不受我们的控制,我们必须请求更改安全配置的权限(例如打开端口)。有时我们必须对数据库进行热修复/更新,这在 GUI 上比在终端上更方便。 如果您正在寻找像 phpMyAdmin 这样的工具,据我所知,这对于 MongoDB 是不存在的。以上是关于在安全服务器中连接到 MongoDB的主要内容,如果未能解决你的问题,请参考以下文章
在单独的 docker 容器 (AWS ECS) 中连接到 MongoDB
无法在 Spring Boot 应用程序中连接到 MongoDB