我正在尝试将 mongodb 连接到 php 应用程序,从 compose 到本地,但出现此错误。 但我可以远程使用 mongo chef
找不到合适的服务器(serverSelectionTryOnce
设置):[TLS 握手失败:错误:14090086:SSL 例程:ssl3_get_server_certificate:证书验证调用 ismaster 失败
最佳答案
我认为你有 3 个选项来解决这个问题。
1。在您的服务器上禁用 SSL
找到mongod.conf
,如果你使用的是linux,那么通常它应该位于/etc/mongod.conf
,使用#
在 net
下注释这些行。最后,您需要重新启动 mongodb
以使更改生效。
网:
SSL:
模式:要求SSL
PEMKey文件:./mongodb.pem
...
2。在您的客户端上使用名为 weak_cert_validation
的选项
这不是安全解决方案,但绝对是最简单的解决方案之一。
例如,如果 mongoDB 服务器启用了 SSL 但没有(或没有)提供 CA 证书(即自签名证书),则将 weak_cert_validation
设置为 true
在客户端,以 C 客户端为例:
mongoc_ssl_opt_t ssl_opts = {0};
ssl_opts.weak_cert_validation = true;
mongoc_client_set_ssl_opts(client, &ssl_opts);
3。关注configure-ssl创建证书并为您的程序签名。
这里有一些提供者:https://en.wikipedia.org/wiki/Certificate_authority#Providers
关于mongodb - 找不到合适的服务器 (`serverSelectionTryOnce` set) : [TLS handshake failed: error:14090086:SSL routines:ssl3_get_server_certificate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44148083/