我试图将mongodb连接到php应用程序从compose到local,但是得到了这个错误。但我可以远程使用mongo厨师
找不到合适的服务器(serverSelectionTryOnce
设置):[TLS握手失败:错误:14090086:SSL例程:ssl3_get_server_certificate:证书验证失败,调用ismaster
我认为你有3个选择来解决这个问题。
找到mongod.conf
,如果你正在使用linux,那么通常它应该位于/etc/mongod.conf
,使用#
在net
下评论这些行。最后,您需要重新启动mongodb
才能进行更改。
net:
ssl:
mode: requireSSL
PEMKeyFile: ./mongodb.pem
...
weak_cert_validation
on your client这不是安全解决方案,但这绝对是最简单的解决方案之一。
例如,如果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);
这里有一些提供者:https://en.wikipedia.org/wiki/Certificate_authority#Providers