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

Azure Cosmos DB for MongoDB API写入时目标机器主动拒绝连接排查

解决Azure Cosmos DB for MongoDB API写入时的连接拒绝问题

首先,从你给出的错误信息SocketException: 无法建立连接,因为目标机器主动拒绝了x.x.x.x:10255来看,核心问题是客户端无法和Cosmos DB的MongoDB API端点建立TCP连接,下面是几个最可能的原因和对应的解决步骤:

1. 连接字符串参数错误(最常见)

你手动拼接的连接字符串可能存在格式问题,尤其是replicaSet、appname这些参数,或者主机名/端口复制错误。

解决方法:
直接从Azure门户复制官方生成的连接字符串,不要手动修改:

  1. 打开Azure门户,进入你的Cosmos DB账户
  2. 切换到左侧菜单的「连接字符串」选项卡
  3. 复制「MongoDB连接字符串」的完整内容,它的格式应该是:
    mongodb://<account-name>:<account-key>@<account-name>.mongo.cosmos.azure.com:10255/?ssl=true&replicaSet=globaldb&retrywrites=false&maxIdleTimeMS=120000&appName=@<account-name>@
    
    注意appName的格式是@<你的账户名>@,不是你原来写的@<region>,这个参数错误会直接导致连接被拒绝。

2. MongoDB .NET驱动版本不兼容

.NET Framework 4.7.2对MongoDB驱动的版本有要求,旧版本的驱动可能无法和Azure Cosmos DB的MongoDB API(尤其是3.6+版本)兼容,进而引发连接失败。

解决方法:

  • 打开NuGet包管理器,将MongoDB.Driver和MongoDB.Bson更新到2.12.x及以上版本(推荐使用支持.NET Framework 4.7.2的最新稳定版)
  • 保留代码中EnabledSslProtocols = SslProtocols.Tls12的配置,因为Cosmos DB仅支持TLS 1.2及以上版本的加密连接

3. 系统级TLS 1.2未启用

虽然你在代码里指定了TLS 1.2,但.NET Framework 4.7.2默认会优先继承系统的TLS配置。如果你的操作系统没有启用TLS 1.2,依然会导致连接失败。

解决方法:
针对Windows系统,通过注册表开启TLS 1.2:

  1. 打开注册表编辑器,导航到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319
  2. 创建或修改SchUseStrongCrypto DWORD值,设置为1
  3. 同样在HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319下做相同设置
  4. 重启应用程序或服务器,使配置生效

4. Cosmos DB网络配置未生效

你提到防火墙已允许所有网络访问,但Azure门户的配置偶尔会存在同步延迟,或者设置存在隐性错误。

解决方法:

  1. 进入Azure门户的Cosmos DB账户,切换到「网络」选项卡
  2. 确认「允许从所有网络访问」已选中,且没有设置IP过滤规则或VNet限制
  3. 点击「保存」按钮(即使看起来已经是正确设置,重新保存一次可以触发配置同步)
  4. 等待5-10分钟,让配置完全生效后再重试

5. 用MongoDB Compass验证连接(排除代码问题)

如果以上步骤都试过还是不行,建议先用MongoDB Compass测试连接,快速定位问题来源:

  1. 打开MongoDB Compass,选择「连接」->「连接到」
  2. 粘贴从Azure门户复制的完整连接字符串
  3. 如果Compass能成功连接并访问数据库/集合,说明问题出在代码或驱动上;如果Compass也连接失败,那就是Cosmos DB账户的配置问题,需要检查账户状态、区域可用性等

最后,替换代码中的连接字符串为官方正确版本后,再重试BulkWriteAsync操作。

内容的提问来源于stack exchange,提问作者H. Pauwelyn

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 07:09:39