繁体   English   中英

找不到合适的服务器(设置了serverSelectionTryOnce):[TLS握手失败:错误:14090086:SSL例程:ssl3_get_server_certificate

[英]No suitable servers found (`serverSelectionTryOnce` set): [TLS handshake failed: error:14090086:SSL routines:ssl3_get_server_certificate

我试图将mongodb连接到php应用程序,从撰写到本地,但出现此错误。 但是我可以使用mongo Chef进行远程控制

找不到合适的服务器( serverSelectionTryOnce设置):[TLS握手失败:错误:14090086:SSL例程:ssl3_get_server_certificate:certificate验证调用ismaster失败

我认为您有3种解决方案。

1.在服务器上禁用SSL

找到mongod.conf ,如果您使用的是Linux,那么通常它应该位于/etc/mongod.conf ,使用#注释net下的这些行。 最后,您需要重新启动mongodb才能使更改mongodb

net: ssl: mode: requireSSL PEMKeyFile: ./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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM