为什么我的 Golang mgo 与 MongoDB Atlas 的连接不断失败,并出现'无法访问服务器”错误?
Nov 27, 2024 pm 07:18 PM使用 Golang mgo 连接到 MongoDB Atlas:副本集持久“无法访问服务器”
尝试连接时通常会出现此错误消息使用 Golang 的 mgo 驱动程序到 MongoDB Atlas 副本集。要解决此问题,请考虑以下步骤:
利用下面提供的 mgo 代码片段:
import ( "gopkg.in/mgo.v2" "crypto/tls" "net" ) // Configure TLS settings tlsConfig := &tls.Config{} // Initialize the DialInfo object dialInfo := &mgo.DialInfo{ Addrs: []string{"prefix1.mongodb.net:27017", "prefix2.mongodb.net:27017", "prefix3.mongodb.net:27017"}, Database: "authDatabaseName", Username: "user", Password: "pass", } // Override the default DialServer method dialInfo.DialServer = func(addr *mgo.ServerAddr) (net.Conn, error) { conn, err := tls.Dial("tcp", addr.String(), tlsConfig) return conn, err } // Establish the connection using DialWithInfo session, err := mgo.DialWithInfo(dialInfo)
登录后复制
请记住,指定单个副本集成员作为种子同样有效选项:
Addrs: []string{"prefix2.mongodb.net:27017"}
登录后复制
有关更多见解,请参阅以下内容资源:
- [tls.Dial()](https://golang.org/pkg/crypto/tls/#Dial)
- [DialInfo](https:// godoc.org/gopkg.in/mgo.v 2#DialInfo)
- [DialWithInfo](https://godoc.org/gopkg.in/mgo.v2#DialWithInfo)
更新:
或者, mgo.ParseURL() 方法可用于解释 MongoDB Atlas URI 字符串。但是,它目前缺乏对 SSL 的支持。
作为解决方法,您可以在解析之前删除 ssl=true 参数:
// URI without ssl=true var mongoURI = "mongodb://username:[email protected],prefix2.mongodb.net,prefix3.mongodb.net/dbName?replicaSet=replName&authSource=admin" dialInfo, err := mgo.ParseURL(mongoURI) // Subsequent code remains similar to the previous example.
登录后复制
以上是为什么我的 Golang mgo 与 MongoDB Atlas 的连接不断失败,并出现'无法访问服务器”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门文章
仓库:如何复兴队友
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
击败分裂小说需要多长时间?
3 周前
By DDD
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
公众号网页更新缓存难题:如何避免版本更新后旧缓存影响用户体验?
3 周前
By 王林

热门文章
仓库:如何复兴队友
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
击败分裂小说需要多长时间?
3 周前
By DDD
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
公众号网页更新缓存难题:如何避免版本更新后旧缓存影响用户体验?
3 周前
By 王林

热门文章标签

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)