我在Ubuntu 16.04.5 LTS服务器上设置了一个具有SSL安全性的mongoDB数据库,并且我已经使用了几个月。为了在mongo上设置SSL,我遵循了Rajan Maharjan在medium.com (link)上的教程。在短时间内不使用它之后,我回到我的服务器,收到了以下错误消息:
1x个月
查看Mongo日志,我发现:[PeriodicTaskRunner] Server certificate is now invalid. It expired on 2018-11-10T08:10:11.000Z
个
因此,我使用rootCA.key文件重新生成并重新签署了所有证书,步骤与第一次创建证书时相同。我重新启动mongod:service mongod restart
个
现在我遇到了“自签名证书”错误:
MongoDB shell version v4.0.2
connecting to: mongodb://IP:port/
2018-11-21T13:11:10.584+0000 E NETWORK [js] SSL peer certificate
validation failed: self signed certificate
2018-11-21T13:11:10.584+0000 E QUERY [js] Error:
couldn't connect to server IP:port, connection attempt failed:
SSLHandshakeFailed: SSL peer certificate validation failed: self signed certificate :
connect@src/mongo/shell/mongo.js:257:13
@(connect):1:6
exception: connect failed
字符串
我的连接字符串如下:mongo --ssl --sslCAFile /PATH/TO/rootCA.pem --sslPEMKeyFile /PATH/TO/mongodb.pem --host IP:port
个
我还没有找到任何关于重新签署mongoDB证书的资源。任何帮助都将不胜感激。
编辑
/etc/mongod.conf:
# mongod.conf
# for documentation of all options, see:
# http://docs.mongodb.org/manual/reference/configuration-options/
# Where and how to store data.
storage:
dbPath: /var/lib/mongodb
journal:
enabled: true
# engine:
# mmapv1:
# wiredTiger:
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
# network interfaces
net:
port: PORT
bindIp: IP
ssl:
mode: requireSSL
PEMKeyFile: /etc/ssl/mongodb.pem
CAFile: /etc/ssl/rootCA.pem
# how the process runs
processManagement:
timeZoneInfo: /usr/share/zoneinfo
#security:
security:
authorization: "enabled"
#operationProfiling:
#replication:
#sharding:
## Enterprise-Only Options:
#auditLog:
#snmp:
型
1条答案
按热度按时间kse8i1jr1#
我已经设法让它再次工作,通过以下步骤(其中,由于某种原因,没有工作之前):
/etc/ssl/
中删除mongodb.*
文件重新生成证书
Common Name (eg, YOUR name) []
中的服务器地址启动mongo shell
型
谢谢@AniketMaithani试图帮助我解决这个问题。