使用mongosh连接MongoDB Atlas时出现证书匹配错误求助
解决MongoDB Atlas mongosh连接证书不匹配问题
问题分析
报错核心是连接的主机名末尾多了一个点(ac-kiiemsq-shard-00-00.cbhjwlv.mongodb.net.),而MongoDB Atlas的SSL证书仅认可不带末尾点的域名格式(*.mongodb.net、mongodb.net),导致证书验证失败。MongoDB Compass会自动处理域名末尾的点,因此能正常连接。
解决方案
- 检查并修正连接字符串:确保主机名末尾没有多余的点,将
ac-kiiemsq-shard-00-00.cbhjwlv.mongodb.net.改为ac-kiiemsq-shard-00-00.cbhjwlv.mongodb.net - 重新复制Atlas官方连接字符串:从MongoDB Atlas控制台复制标准的mongosh连接字符串,避免手动输入时误加末尾的点
- 指定CA证书路径验证:在mongosh命令中添加
--tlsCAFile参数,强制使用正确的根证书验证。Mac系统brew安装的MongoDB证书路径,Intel芯片为/usr/local/etc/mongodb/ca.pem,Apple Silicon芯片为/opt/homebrew/etc/mongodb/ca.pem,示例命令:mongosh "mongodb+srv://ac-kiiemsq-shard-00-00.cbhjwlv.mongodb.net/myDatabase" --apiVersion 1 --username yourUsername --tlsCAFile /usr/local/etc/mongodb/ca.pem - 清除mongosh缓存:执行以下命令清除旧连接历史缓存,再重新尝试连接
mongosh --clearHistory
内容的提问来源于stack exchange,提问作者Mattazz
相关产品推荐
相关产品推荐

