2

我正在尝试使用 ssl 设置 mongodb,但在通过 mongodb 指南针连接时遇到问题。

运行 mongodb 为:

蒙神

工作正常,我可以通过指南针和命令行轻松连接到它。

但是,当使用 ssl 运行服务器时,如下所示:(稍后我将为此设置一个配置文件)

mongod --sslMode requireSSL --sslPEMKeyFile mongo.pem --sslCAFile rootCA.crt --bind_ip 127.0.0.1

我在通过指南针连接时遇到问题。我给 compass 一个自制的 CA 证书(与服务器使用的相同)、一个密钥和一个由密钥生成的 CA 证书签名的证书。结果是罗盘上出现以下错误:

无法在提供的主机和端口上连接到 MongoDB

并且在 mongod 服务器上记录了以下内容:

2019-05-25T13:34:24.730-0400 I NETWORK [listener] 连接从 127.0.0.1:52246 #3 接受(现在打开 1 个连接)
2019-05-25T13:34:24.793-0400 I NETWORK [conn3] 结束连接127.0.0.1:52246(现在打开 0 个连接)
2019-05-25T13:34:24.795-0400 I NETWORK [listener] 从 127.0.0.1:52247 #4 接受连接(现在打开 1 个连接)
2019-05-25T13:34 :24.832-0400 I NETWORK [conn4] end connection 127.0.0.1:52247 (0 个连接现在打开)

如您所见,没有 ssl 错误,也没有任何与此相关的错误。Compass 连接后立即断开连接,然后再尝试一次,然后放弃。

另一方面,使用与 compass 相同的证书在命令行上连接到所需的 ssl 服务器可以正常工作:

mongo --ssl --host 127.0.0.1 --sslPEMKeyFile compass/compass.pem --sslCAFile rootCA.crt

唯一的区别是 compass.pem 是从以下位置生成的:

cat compass.crt compass.key > compass.pem

而不是直接将 crt 和 key 文件提供给 compass。

4

0 回答 0