Как получить доступ к mongodb с помощью механизма аутентификации GSSAPI?
Я пытаюсь подключиться к серверу MongoDB через ssl-сертификат с помощью c#. Я получаю систему.TimeoutException (тайм-аут произошел после 30000ms выбора сервера с помощью CompositeServerSelector).
Что я уже пробовал:
I started with connection via MongoClientSetting object. Here is the code:
MongoClientSettings settings = new MongoClientSettings(); settings.MaxConnectionLifeTime = new TimeSpan(12, 0, 0); settings.UseSsl = true; settings.VerifySslCertificate = false; var cert = new X509Certificate2("mongoDBCAFile.cer"); settings.SslSettings = new SslSettings{ ClientCertificates = new[] { cert } }; settings.Servers = new[]{ new MongoServerAddress("xyz1.intranet.companyname.com", 12345), new MongoServerAddress("xyz2.intranet.companyname.com", 12345) }; settings.ReplicaSetName = "replicaName"; var cred = MongoCredential.CreateGssapiCredential("username@intranet.companyname.com").WithMechanismProperty("SERVICE_NAME", "servicename"); settings.Credential = cred; var client = new MongoClient(settings); var database = client.GetDatabase("DatabaseName"); var collection = database.GetCollection<BsonDocument>("CollectionName"); //This is the place of error var count1 = collection.CountDocuments(new BsonDocument());
Я попытался поиграть с ConnectTimeout, SocketTimeout и wTimeOut, но ошибка была той же самой.
Я также пытался сделать то же самое, используя строку подключения, но я не мог понять, как создать строку подключения с этими многими параметрами.