【发布时间】:2023-02-04 14:22:03
【问题描述】:
我有一个连接到不同服务器上的 MongoDB(版本 4.4.18)的项目。 MongoDB 服务器有一个 TLS 证书,项目服务器没有为这个连接提供一个。
使用的连接字符串是
mongodb://user:password@mongo.server.com:27017/database3?tls=true
这已经工作多年,但自 1 月底以来,MongoDB 拒绝传入连接并显示错误消息
SSL peer certificate revocation status checking failed: Could not verify X509 certificate store for OCSP Stapling
这似乎没有意义,因为项目服务器甚至不提供证书。我什至尝试将 tlsInsecure 添加到连接字符串,但没有成功。
更新: 客户端是 MongoDB NodeDriver,错误消息在数据库服务器上的 mongod 上。
我在没有解决问题的情况下所做的事情:
- 我手动检查了数据库服务器证书的 OCSP 响应,结果“良好”
- 我撤销了证书并颁发了新证书
- 我在连接字符串中添加了选项
tlsAllowInvalidCertificates=true
【问题讨论】:
-
@SteffenUllrich 该声明似乎是正确的。 MongoDB 服务器提供了一个服务器证书给客户。客户端可以通过参数
tls=true使用(即验证)此服务器证书或忽略它(除非服务器参数net.tls.mode设置为requireTLS)。这独立于提供客户证书。
标签: node.js mongodb ssl tls1.3