我按照MongoDB官网的说明创建了证书,但是不能正常使用。
我有一个副本集和自签名证书。
我需要对副本成员之间的流量进行完全加密。如何正确设置这些副本成员?以及如何进入 MongoDB shell?
我根据 mongod.conf 中的说明创建了证书:
sslMode = requireSSL
sslPEMKeyFile = /etc/ssl/mongo.pem ...
Run Code Online (Sandbox Code Playgroud)
并尝试添加参数:
sslCAFile = /etc/ssl/mongo.crt
Run Code Online (Sandbox Code Playgroud)
并尝试输入:
mongo --ssl --sslPEMKeyFile /etc/ssl/mongo.pem --sslCAFile /etc/ssl/mongo.pem or
mongo --ssl --sslPEMKeyFile /etc/ssl/mongo.pem --sslCAFile /etc/ssl/mongo.crt
Run Code Online (Sandbox Code Playgroud)
我收到错误 - The server certificate does not match the host name。
如果我使用客户端证书,则错误:SSL peer certificate validation failed:self signed certificate.
Mongod 服务已启动并正在运行。Mongo 版本 - 3.0.2。Centos - 6.5 x64。
我浏览了很多链接,但没有找到可行的解决方案。
如果可能的话,你能给我步骤吗?
小智 1
创建自签名证书时,需要在“通用名称”字段中使用有效的主机名,例如:
通用名称(例如,您的姓名或服务器的主机名)[]:host.domain.com
如果您想使用域证书,则需要将“host”更改为“*”,例如:
通用名称(例如,您的姓名或服务器的主机名)[]:*.domain.com