已从DigiCerts(CA文件和pem文件)生成了有效的证书。 PEM文件是私钥和服务器证书的组合。但是以某种方式mongo shell无法使用这些证书。
这是设置: 环境:
我们拥有的
Mongo服务器:Ubuntu 16.04,mongo版本:4.0.10
还配置了/etc/mongod.conf
文件。正确提到了Pem文件和CA文件的路径。 CN名称与主机名匹配,并且完全相同。
问题是什么
但是现在当我运行以下mongo命令时,它会失败
root@m1:/home/administrator# mongo --port 27017 --ssl --host m1.com –-sslPEMKeyFile /etc/pemfile.pem –-sslCAFile /etc/cafile.pem
MongoDB Shell版本v4.0.13连接到: mongodb://m1.com:27017 /%E2%80%93-sslPEMKeyFile?gssapiServiceName = mongodb 2019-12-05T06:50:31.195-0500我网络[js] DBClientConnection失败 接收来自m1.com的消息:27017-SocketException:短读 2019-12-05T06:50:31.195-0500 E查询[js]错误:网络错误 尝试在主机'm1.com:27017'上运行命令'isMaster'时: connect@src/mongo/shell/mongo.js:344:17 @(connect):2:6例外: 连接失败的root @ m1:/ home / administrator#
我猜当前服务器是主/主服务器。
请提出建议
答案 0 :(得分:0)
最后找到了解决方案。实际的问题是,CA文件中没有受信任的根证书。 CA文件仅具有DigiCert CA证书,但缺少TrustedRoot证书。
我添加证书的那一刻,它开始工作。 谢谢。