Windows10下MongoDB6.0.2配置TLS后mongosh连接报ECONNRESET错误求助
排查MongoDB TLS连接
ECONNRESET错误的实用步骤 环境信息
- Windows版本:10
- MongoDB版本:6.0.2
- 工具:mongosh
1. 优先检查OpenSSL版本兼容性
MongoDB 6.0.2要求依赖OpenSSL 1.1.1及以上版本,你当前使用的OpenSSL 0.9.8k属于过旧版本,存在协议、算法兼容性问题,这是触发连接重置错误的核心诱因。建议升级到OpenSSL 1.1.1最新稳定版;若选用OpenSSL 3.x,需确保MongoDB版本升级到6.0.4及以上。
2. 验证证书链有效性
- 确保服务器证书、客户端证书均由同一个CA证书签发,证书链无断裂。用以下命令验证:
若验证失败,需重新按照MongoDB官方步骤生成完整证书链。# 验证服务器证书 openssl verify -CAfile test-ca.pem test-server1.pem # 验证客户端证书 openssl verify -CAfile test-ca.pem test-client.pem
3. 补全mongod的TLS配置参数
当前mongod.cfg缺少tlsCAFile参数——服务器需要通过CA证书验证客户端身份,否则会直接拒绝客户端连接请求。修改配置文件:
# network interfaces net: port: 27017 bindIp: 127.0.0.1 tls: mode: requireTLS tlsCertificateKeyFile: C:\OpenSSL\openssl-0.9.8k_X64\bin\test-server1.pem tlsCAFile: C:\OpenSSL\openssl-0.9.8k_X64\bin\test-ca.pem
修改后重启mongod服务。
4. 修正mongosh连接命令格式
避免路径转义问题,使用正斜杠或引号包裹路径,同时增加调试日志:
mongosh "mongodb://localhost:27017/?directConnection=true" \ --tls \ --tlsCertificateKeyFile "C:/OpenSSL/openssl-0.9.8k_X64/bin/test-client.pem" \ --tlsCAFile "C:/OpenSSL/openssl-0.9.8k_X64/bin/test-ca.pem" \ --verbose
5. 排查系统层面拦截
- 临时关闭Windows防火墙、杀毒软件,测试是否存在端口拦截;
- 用PowerShell验证端口连通性:
Test-NetConnection localhost -Port 27017
内容的提问来源于stack exchange,提问作者Munawwarah Chamroo-Auleear
相关产品推荐
相关产品推荐

