2017-04-21 3 views
0

mgo를 사용하여 MongoDB Atlas 무료 클러스터에 연결하려고합니다.CreateSession : 도달 할 수없는 서버 - mgo

Golang 코드 -

package main 

import (
    "fmt" 
    "gopkg.in/mgo.v2" 
    "time" 
    "log" 
) 

const (
    AuthDatabase = "mydatabase" 
    AuthUserName = "databaseadmin" 
    AuthPassword = "databasepassword" 
    ReplicaSetName = "myproject-shard-0" 
) 

func main(){ 

MongoDBHosts := []string{ 
    "myproject-shard-00-00-w4vds.mongodb.net:27017", 
    "myproject-shard-00-01-w4vds.mongodb.net:27017", 
    "myproject-shard-00-02-w4vds.mongodb.net:27017", 
} 

mongoDBDialInfo := &mgo.DialInfo{ 
    Addrs: MongoDBHosts, 
    Timeout: 60 * time.Second, 
    Database: AuthDatabase, 
    Username: AuthUserName, 
    Password: AuthPassword, 
    ReplicaSetName: ReplicaSetName, 
} 

mongoSession, err := mgo.DialWithInfo(mongoDBDialInfo) 
if err != nil { 
    log.Fatalf("CreateSession: %s\n", err) 
} 

defer mongoSession.Close() 
fmt.Printf("Connected to replica set %v!\n", mongoSession.LiveServers()) 
} 

오류 메시지 -

CreateSession : 없음 도달 서버

환경

내가 MongoDB를 아틀라스에 연결하려면 구글 앱 엔진 GO SDK와

답변

0

를 MongoDB를 무료로 클러스터를 사용하고, 당신은 따라서 SSL

전제 조건

TLS/SSL 

    Clients must have support for TLS/SSL to connect to an Atlas cluster. 

    Clients must have support for the SNI TLS extension to connect to an Atlas M0 Free Tier cluster. 


Whitelist 

    To access a cluster, you must connect from an IP address on the Atlas group’s IP whitelist. If you need to add an IP address to the whitelist, you can do so in the Connect dialog. You can also add the IP address from the Security tab. 

필요 나는 다음과 같은 부분을 변경했다 코드

mongoDBDialInfo := &mgo.DialInfo{ 
    Addrs: MongoDBHosts, 
    Timeout: 60 * time.Second, 
    Database: AuthDatabase, 
    Username: AuthUserName, 
    Password: AuthPassword, 
    ReplicaSetName: ReplicaSetName, 
} 

mongoDBDialInfo.DialServer = func(addr *mgo.ServerAddr) (net.Conn, error) { 
     conn, err := tls.Dial("tcp", addr.String(), tlsConfig) 
     return conn, err 
    } 

나는 너무

,691에 따라 수입했다
"crypto/tls" 
"net" 
관련 문제