如何在本地托管公共可用的 MongoDB 服务器?

问题描述 投票:0回答:1

我正在使用 MongoDB 社区服务器在 Windows 计算机上本地托管服务器。我希望通过 pymongo 从 Linux 服务器进行远程连接,但由于 Python 实例无法与我的 MongoDB 服务器建立连接,因此出现 TimeoutException。但是,我可以从同一网络连接到服务器,只是不能在我的 WiFi 之外连接。

当地环境: 操作系统:Windows 11 数据库版本:v7.0.8 双淀粉:x86_64 目标架构:x86_64

远程环境: 操作系统:Ubuntu 22.04 pymongo 版本:4.6.2 Python版本:3.8

我有什么遗漏的吗?您不应该能够在社区服务器上本地托管吗?

使用脚本“mongod --bind_ip 0.0.0.0”在命令行上启动实例,默认端口为 27017。确认它正在侦听 0.0.0.0:27017。

路由器已配置端口转发,将外部连接路由到计算机外部端口 27017 上的公共 IP 到计算机内部端口 27017 上的本地 IPv4 地址。我的路由器使用 DHCP,但本地地址是首选,并且似乎保持相当静态。

Windows 防火墙已配置为允许端口 27017 上的所有连接。我什至尝试禁用防火墙但无济于事。

database mongodb
1个回答
0
投票

在本地托管公共可用的 MongoDB 服务器涉及几个步骤来确保安全性和可访问性。以下是帮助您进行设置的一般指南:

  1. 安装 MongoDB:首先,在本地计算机上下载并安装 MongoDB。您可以在 MongoDB 官方网站上找到特定于您的操作系统的安装说明。

  2. 配置 MongoDB:安装后,通过设置身份验证、定义数据目录和配置网络设置来配置 MongoDB。您可以在 MongoDB 文档中找到详细说明。

  3. 设置身份验证:启用身份验证以保护您的 MongoDB 实例。创建具有适当角色和权限的用户帐户来控制对数据库的访问。

  4. 配置网络访问:MongoDB 默认绑定到 localhost。要使其公开可用,您需要将 MongoDB 配置为侦听您的网络 IP 地址。编辑 MongoDB 配置文件(通常为

    mongod.conf
    )以指定要侦听的网络接口。

  5. 调整防火墙设置:如果您公开托管MongoDB,请确保您的防火墙允许来自外部IP地址的MongoDB端口(默认为27017)上的传入连接。相应地配置您的防火墙设置。

  6. 分配静态 IP 地址或域:如果您公开托管 MongoDB 服务器,请考虑为您的计算机分配静态 IP 地址或设置指向您的 IP 地址的域名。这使得客户端可以更轻松地连接到您的 MongoDB 服务器。

  7. 测试连接:测试从外部源到 MongoDB 服务器的连接,以确保其可公开访问。您可以使用

    telnet
    mongo
    shell 等工具来测试连接性。

  8. 监控并保护您的服务器:定期监控您的 MongoDB 服务器是否有任何异常活动或潜在的安全威胁。使用最新的安全补丁更新您的服务器,并遵循保护 MongoDB 部署的最佳实践。

  9. 考虑使用云提供商:在本地托管公共可用的 MongoDB 服务器需要仔细考虑安全性和性能影响。如果您对自己管理这些方面没有信心,请考虑使用 MongoDB Atlas 等云提供商,它提供具有内置安全功能和可扩展性的托管 MongoDB 托管。

请记住定期备份 MongoDB 数据,以防止意外事件导致数据丢失。此外,请确保在托管公开可用的 MongoDB 服务器时遵守相关的安全和隐私法规。 zakbags.com

© www.soinside.com 2019 - 2024. All rights reserved.