我尝试将go客户端连接到启用ssl的mongodb服务器。我收到一条明确的错误消息,表明由于ssl错误,握手失败。我在客户端使用自签名证书。
下面是从mongodb服务器得到的:
2017-05-13T04:38:53.910+0000 I NETWORK [thread1] connection accepted from 172.17.0.1:51944 #10 (1 connection now open)
2017-05-13T04:38:53.911+0000 E NETWORK [conn10] SSL: error:14094412:SSL routines:SSL3_READ_BYTES:sslv3 alert bad certificate
2017-05-13T04:38:53.911+0000 I - [conn10] end connection
字符串
Go客户端错误:
Could not connect to mongodb_s1.dev:27017 x509: certificate signed by unknown authority (possibly because of "crypto/rsa: verification error" while trying to verify candidate authority certificate "XYZ")
型
尝试了多种选择,但没有帮助
2条答案
按热度按时间u7up0aaq1#
您可以使用
InsecureSkipVerify = true
跳过TLS安全检查。这允许您使用自签名证书。请参阅下面的撰写帮助中的代码。建议不要跳过安全检查,而是将用于签署证书的CA添加到系统的受信任CA列表中。
字符串
这里:
型
这里:
型
t40tm48m2#
如果您使用的是Official MongoDB Go client,则可以通过设置
mongo.Connect(context.TODO(), opts)
选项来使用自定义CA:字符串
您也可以跳过验证,
型
测试时跳过验证有时是合理的,但应避免。