猿问

官方 mongodb go-driver heroku 连接到 mongodb atlas 沙箱

去版本: go1.11.2


连接字符串: mongodb+srv://<username>:<pw>@<host>/test?replicaSet=<replicaSetName>&retryWrites=true&w=majority


MongoDB Atlas:网络访问当前设置为0.0.0.0/0


MongoDB Atlas:沙箱 M0 MongoDB 版本4.0.10


Heroku MongoDB 插件:沙箱


我正在尝试使用上述连接字符串从 heroku 应用程序连接到 MongoDB Atlas 集群。这在本地工作正常,所以我知道连接字符串是有效的。但是,每当应用程序(golang 应用程序)在heroku 端启动时,我都会收到以下错误。


2019/07/27 16:18:49 server selection error: server selection timeout

current topology: Type: ReplicaSetNoPrimary

Servers:

Addr: rapi0-shard-00-02- 

yqd60.mongodb.net:27017, Type: Unknown, State: Connected, Average RTT: 

0, Last error: connection() : x509: certificate signed by unknown 

authority

Addr: rapi0-shard-00-00- 

yqd60.mongodb.net:27017, Type: Unknown, State: Connected, Average RTT: 

0, Last error: connection() : x509: certificate signed by unknown 

authority

Addr: rapi0-shard-00-01- 

yqd60.mongodb.net:27017, Type: Unknown, State: Connected, Average RTT: 

0, Last error: connection() : x509: certificate signed by unknown 

authority

这些错误似乎与 TLS 证书相关。我正在使用官方 MongoDB Go 驱动程序


如果这与 TLS 相关,为什么我在本地没有收到此错误?我发现这个问题似乎与我的相同,但我不知道该怎么做......相关问题


还有其他人在使用 Golang 从 Heroku 连接到 MongoDB Atlas 时遇到过类似的问题吗?


如果您需要更多信息,请告诉我。我很茫然。我尝试了连接字符串的各种组合,但似乎没有任何效果。


慕神8447489
浏览 103回答 1
1回答

倚天杖

钥匙串中某些 CA 证书被忽略的问题。该修复已在 Go v1.12 中发布,并且还向后移植到 Go v1.11.6。
随时随地看视频慕课网APP

相关分类

Go
我要回答