Heim >Backend-Entwicklung >Golang >Wie kann der Fehler „Kein erreichbarer Server' beim Herstellen einer Verbindung zu MongoDB Atlas mit dem mgo-Treiber von Go behoben werden?
Herstellen einer Verbindung zu MongoDB Atlas mit Go mgo: Behebung des Problems „Kein erreichbarer Server“
Beim Versuch, eine Verbindung zu einem MongoDB Atlas-Replikatsatz mit herzustellen Wenn Sie den MGO-Treiber für Go verwenden, tritt möglicherweise der anhaltende Fehler „Kein erreichbarer Server“ auf. Dieses Problem kann auch dann auftreten, wenn Sie über dieselbe Verbindungszeichenfolge erfolgreich eine Verbindung zu anderen Sprachen herstellen können.
Die Hauptursache für dieses Problem liegt häufig in fehlenden oder falschen Konfigurationen der SSL-Verbindungsparameter. Um eine sichere Verbindung mit MongoDB Atlas herzustellen, müssen Sie eine TLS-Konfiguration verwenden. Hier ist ein Codeausschnitt, der zeigt, wie Sie Ihre Verbindung für SSL konfigurieren:
package main import ( "gopkg.in/mgo.v2" "crypto/tls" "net" ) func main() { tlsConfig := &tls.Config{} dialInfo := &mgo.DialInfo{ Addrs: []string{"prefix1.mongodb.net:27017", "prefix2.mongodb.net:27017", "prefix3.mongodb.net:27017"}, Database: "authDatabaseName", Username: "user", Password: "pass", } dialInfo.DialServer = func(addr *mgo.ServerAddr) (net.Conn, error) { conn, err := tls.Dial("tcp", addr.String(), tlsConfig) return conn, err } session, err := mgo.DialWithInfo(dialInfo) if err != nil { // Handle error } // Use the session to interact with MongoDB Atlas }
Alternative Lösung:
Eine andere Möglichkeit besteht darin, die ParseURL-Methode zum Parsen der MongoDB zu verwenden Atlas-URI-Zeichenfolge. Allerdings unterstützt diese Methode derzeit kein SSL (mgo.V2 PR:304). Eine Problemumgehung besteht darin, die Zeile „ssl=true“ vor dem Parsen aus dem URI zu entfernen.
// URI without ssl=true mongoURI := "mongodb://username:[email protected],prefix2.mongodb.net,prefix3.mongodb.net/dbName?replicaSet=replName&authSource=admin" dialInfo, err := mgo.ParseURL(mongoURI) // Below part is similar to the previous example. // ... (remainder of code)
Durch Befolgen dieser Schritte können Sie mithilfe des MGO-Treibers erfolgreich eine Verbindung zu MongoDB Atlas herstellen und das Problem „Kein erreichbarer Server“ beheben "Problem.
Das obige ist der detaillierte Inhalt vonWie kann der Fehler „Kein erreichbarer Server' beim Herstellen einer Verbindung zu MongoDB Atlas mit dem mgo-Treiber von Go behoben werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!