1

已从 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 I NETWORK [js] DBClientConnection 失败从 m1.com:27017 接收消息 - SocketException: short read 2019-12-05T06:50:31.195-0500 E QUERY [js] 错误:尝试在主机“m1.com:27017”上运行命令“isMaster”时出现网络错误:connect@src/mongo/shell/mongo.js:344:17 @(connect):2:6 异常:连接失败 root@m1:/home/administrator#

我猜当前服务器是主服务器/主服务器。

请建议

4

1 回答 1

0

终于找到了解决方案。实际问题是 CA 文件中没有受信任的根证书。CA 文件只有 DigiCert CA 证书,但缺少 TrustedRoot 证书。

我添加证书的那一刻,它就开始工作了。谢谢。

于 2019-12-11T12:01:03.860 回答