我正在尝试在 MongoDB 社区版中配置 SSL 证书。
我的 mongod.conf 的配置
net:
port: 27017
bindIp: 0.0.0.0 # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6
addresses or, alternatively, use the net.bindIpAll setting.
ssl:
mode: requireSSL
PEMKeyFile: /etc/ssl/mongodb.pem
CAFile: /etc/ssl/ca_bundle.crt
allowConnectionsWithoutCertificates: false
allowInvalidHostnames: false
disabledProtocols: TLS1_0,TLS1_1
在这里,我正在做的是将 certificate.crt 和 private.key 转换为 mongodb.pem 并将 ca_bundle.crt 作为 CAFile 在 mongod.conf 中传递
我正在尝试使用命令与服务器连接
mongo --ssl --sslPEMKeyFile /etc/ssl/mongodb.pem --sslCAFile /etc/ssl/ca_bundle.crt --host myapptest.tk
得到像这样的错误
MongoDB shell 版 v4.0.8
连接到:mongodb://myapptest.tk:27017/?gssapiServiceName=mongodb
2019-04-04T19:57:40.401+0000 E NETWORK [js] SSL 对等证书验证失败:无法获取本地颁发者证书
2019-04-04T19:57:40.402+0000 E QUERY [js] 错误:无法连接到服务器 myapptest.tk:27017,连接尝试失败:SSLHandshakeFailed:SSL 对等证书验证失败:无法获取本地颁发者证书:
连接@src/mongo/shell/mongo.js:343:13
@(连接):2:6
异常:连接失败
我想知道,如何创建 root_CA.pem 文件并将其作为 --sslCAFile 传递?
在哪里可以找到 MongoDB 中的 ca.pem 文件?
有人可以建议我如何在 MongoDB 中配置 SSL 证书吗?
根据此处的 MongoDB 文档,该过程创建
CA PEM
文件和中间授权证书以及密钥文件以签署服务器/客户端测试证书。进一步参考这里