Maison >développement back-end >Golang >Comment résoudre l'erreur « Aucun serveur accessible » lors de la connexion à MongoDB Atlas avec le pilote mgo de Go ?
Connexion à MongoDB Atlas avec Go mgo : résolution du problème « Aucun serveur accessible »
Lors de la tentative de connexion à un jeu de réplicas MongoDB Atlas à l'aide le pilote mgo pour Go, vous pouvez rencontrer l'erreur persistante « aucun serveur accessible ». Ce problème peut survenir même si vous parvenez à vous connecter avec d'autres langues en utilisant la même chaîne de connexion.
La cause première de ce problème réside souvent dans une configuration manquante ou incorrecte des paramètres de connexion SSL. Pour établir une connexion sécurisée avec MongoDB Atlas, vous devez utiliser une configuration TLS. Voici un extrait de code qui montre comment configurer votre connexion pour SSL :
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 }
Solution alternative :
Une autre option consiste à utiliser la méthode ParseURL pour analyser MongoDB. Chaîne URI Atlas. Cependant, cette méthode ne prend actuellement pas en charge SSL (mgo.V2 PR:304). Une solution de contournement consiste à supprimer la ligne "ssl=true" de l'URI avant l'analyse.
// 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)
En suivant ces étapes, vous pouvez vous connecter avec succès à MongoDB Atlas à l'aide du pilote mgo et résoudre le problème "aucun serveur accessible". "problème.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!