【问题标题】:MongoDB: SSL/TLS handshake failed and No suitable servers foundMongoDB:SSL/TLS 握手失败并且没有找到合适的服务器
【发布时间】:2021-08-30 08:35:20
【问题描述】:

所以我在 Mongo 和 SSL 证书方面遇到了一些问题。 不托管 mongo 实例(针对自托管的其他答案)。

得到的错误是:

PHP Fatal error: Uncaught MongoDB\Driver\Exception\ConnectionTimeoutException: 
No suitable servers found (`serverSelectionTryOnce` set): 
[TLS handshake failed: error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed calling ismaster on 'x.y.mongodb.net:27017'] [TLS handshake failed ...........

你如何解决这个问题? 下一步是联系 Mongo 支持,这可能会很耗时,因此非常感谢您提供任何信息。

【问题讨论】:

  • 请分享更多详细信息,例如涉及的代码以及您解决问题的尝试

标签: php mongodb ssl php-7


【解决方案1】:

Mongo Atlas 最近将根证书从 IdenTrust 更改为 ISRG。他们每 45 天轮换一次证书。您的集群在上次计划的轮换中开始使用新的根 CA。

这样的东西应该告诉你正在使用什么 CN:

echo | openssl s_client -showcerts -connect x.y.mongodb.net:27017 2> /dev/null | grep -E "(Certificate|CN\s*=|O\s*=)"

检查您的收件箱中是否有任何通知,例如“MongoDB Atlas TLS 根证书的更改”。它应该有关于更改的详细信息,并提前很好地传达。

否则,请通过 Atlas UI 中的聊天或电子邮件与支持团队联系。我相信他们有适用于您的案例的手册,并且不会花费太多时间。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-04-10
    • 1970-01-01
    • 2021-06-06
    • 1970-01-01
    • 2019-12-16
    • 2015-01-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多