public void NodesDiscoveredDuringSniffShouldBeHttps() { ServicePointManager.ServerCertificateValidationCallback += (sender, certificate, chain, errors) => { if (errors == SslPolicyErrors.None) return true; string certificateHash = certificate.GetCertHashString(); bool knownThumbprintIsValid = false; if (_knownPrints.TryGetValue(certificateHash, out knownThumbprintIsValid)) return knownThumbprintIsValid; var isValid = IsValidCertificate(certificate, chain); _knownPrints.AddOrUpdate(certificateHash, isValid, (s, b) => isValid); return isValid; }; var uris = new[] { new Uri("https://localhost:9200") }; var connectionPool = new SniffingConnectionPool(uris, randomizeOnStartup: false); var settings = new ConnectionSettings(connectionPool, ElasticsearchConfiguration.DefaultIndex) .SniffOnStartup() .SetBasicAuthentication("mpdreamz", "blahblah") .ExposeRawResponse() //.SetPingTimeout(1000) .SetTimeout(2000); var client = new ElasticClient(settings); var results = client.NodesInfo(); results.IsValid.Should().BeTrue("{0}", results.ConnectionStatus.ToString()); results.ConnectionStatus.NumberOfRetries.Should().Be(0); var uri = new Uri(results.ConnectionStatus.RequestUrl); uri.Port.Should().Be(9200); uri.Scheme.Should().Be("https"); results = client.NodesInfo(); results.IsValid.Should().BeTrue("{0}", results.ConnectionStatus.ToString()); results.ConnectionStatus.NumberOfRetries.Should().Be(0); uri = new Uri(results.ConnectionStatus.RequestUrl); uri.Port.Should().Be(9201); uri.Scheme.Should().Be("https"); }