gpt4 book ai didi

Mongodb 连接尝试失败 : SSLHandshakeFailed: SSL peer certificate validation failed: self signed certificate

转载 作者:太空宇宙 更新时间:2023-11-03 13:50:00 25 4
gpt4 key购买 nike

我在 Ubuntu 16.04.5 LTS 服务器上设置了一个具有 SSL 安全性的 mongoDB 数据库,我已经使用它几个月了。为了在 mongo 上设置 SSL,我遵循了 Rajan Maharjan 在 medium.com 上的教程 (link) .在短时间不使用服务器后回到我的服务器,我收到以下错误消息:

SSL 对等证书验证失败:证书已过期

查看mongo日志,发现:

[PeriodicTaskRunner] 服务器证书现在无效。它于 2018-11-10T08:10:11.000Z 过期

因此,我按照与第一次创建证书时相同的步骤,使用 rootCA.key 文件重新生成并重新签署了所有证书。我用以下命令重新启动了 mongod:

服务mongod重启

现在我有“自签名证书”错误:

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:

最佳答案

我按照以下步骤设法让它再次工作(由于某些原因,之前没有工作):

  • /etc/ssl/ 中删除 mongodb.* 文件>
  • 使用以下命令重新生成证书:
    • openssl genrsa -out mongodb.key 2048
    • openssl req -new -key mongodb.key -out mongodb.csr
    • 字段中的服务器地址 Common Name(例如,您的姓名)[]
    • openssl x509 -req -in mongodb.csr -CA rootCA.pem -CAkey/PATH/TO/rootCA.key -CAcreateserial -out mongodb.crt -days 500 -sha256
    • cat mongodb.key mongodb.crt > mongodb.pem
  • chmod 666 mongodb.pem
  • 服务mongod重启
  • cat/var/log/mongodb/mongod.log(检查状态)

并启动 mongo shell

  • mongo --ssl --sslCAFile/PATH/TO/rootCA.pem --sslPEMKeyFile/PATH/TO/mongodb.pem --host IP:PORT

感谢@AniketMaithani 试图帮助我解决这个问题。

关于Mongodb 连接尝试失败 : SSLHandshakeFailed: SSL peer certificate validation failed: self signed certificate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53413017/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com