我按照本教程创建了一个根 CA 证书,然后使用它为 mongod 服务器签名。我使用此配置运行monogd,遵循此文档:
net:
ssl:
mode: requireSSL
PEMKeyFile: /home/user/device.pem
CAFile: /home/user/rootCA.pem
allowInvalidCertificates: true
allowInvalidHostnames: true
Run Code Online (Sandbox Code Playgroud)
由于连接失败,我添加的最后 2 个。
我正在使用这些线路连接:
./mongo <host>:<port>/<db> -u <user> -p <pwd> --ssl --sslAllowInvalidCertificates --sslCAFile ~/Downloads/rootCA.pem
./mongo <host>:<port>/<db> -u <user> -p <pwd> --ssl --sslAllowInvalidCertificates
./mongo <host>:<port>/<db> -u <user> -p <pwd> --ssl
Run Code Online (Sandbox Code Playgroud)
但所有这些都会产生:
MongoDB shell version v3.4.2
connecting to: mongodb://<host>:<port>/<db>
2017-03-30T14:39:15.307+0300 E NETWORK [thread1] SSL peer certificate validation failed: self signed certificate
2017-03-30T14:39:15.311+0300 E QUERY [thread1] Error: socket exception [CONNECT_ERROR] for SSL …Run Code Online (Sandbox Code Playgroud)