You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

仅开放80/443出站端口的防火墙环境下使用pymongo连接MongoDB Atlas

连接可行性说明与解决方案
  • 你当前连接超时的直接原因是:MongoDB Atlas 默认使用27017端口提供服务,而你的社区服务器仅开放80、443出站端口,默认配置下无法访问27017端口,自然会触发超时错误。
  • 该环境下可以正常连接MongoDB Atlas,官方已支持通过443端口走TLS加密通道提供服务,只需调整连接配置即可。

代码修改方案

方案1(推荐):使用mongodb+srv协议连接

pymongo 3.6及以上版本原生支持该协议,会自动适配443端口通信,无需手动指定端口:

from pymongo import MongoClient
# 替换为你从Atlas控制台获取的mongodb+srv格式连接串,确保开启tls校验
connection = MongoClient("mongodb+srv://<id>:<password>@<你的Atlas集群域名>/?tls=true")

方案2:手动指定443端口连接

如果无法使用srv协议,可以手动指定端口为443并开启TLS:

from pymongo import MongoClient
connection = MongoClient("mongodb://<id>:<password>@<你的Atlas节点域名>:443/?tls=true")

额外校验项

  • 确认已在MongoDB Atlas控制台的「网络访问」配置中,将社区服务器的公网出口IP加入白名单。
  • 确认当前使用的pymongo版本不低于3.4,旧版本对443端口连接的兼容性不足。

内容的提问来源于stack exchange,提问作者myster

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 21:54:00