gpt4 book ai didi

ssl - Elasticsearch NEST HttpClientHandler 证书

转载 作者:太空宇宙 更新时间:2023-11-03 14:40:58 26 4
gpt4 key购买 nike

我正在尝试将 Elasticsearch NEST 与 .NET Core 和我们的 Elasticsearch 实例结合使用。我们通过 SSL 连接,它有一个我们需要以编程方式接受的通配符证书。我想弄清楚如何将 HttpClientHandler 挂接到 NEST 以接受它。似乎没有很好的文档说明如何操作,它只是说按照他们的说明进行操作 https://www.elastic.co/guide/en/elasticsearch/client/net-api/current/connecting.html#configuring-ssl .

如果可能的话,我正在寻找一个例子。提前致谢!

最佳答案

我想通了。我需要创建一个 HttpConnection 并覆盖 CreateHttpClientHandler 方法。这是一个无论证书是什么都返回 true 的示例。

public class ConnectionWithCert : HttpConnection
{
protected override HttpClientHandler CreateHttpClientHandler(RequestData requestData)
{
var handler = base.CreateHttpClientHandler(requestData);
handler.ServerCertificateCustomValidationCallback = ValidateCertificate;
return handler;
}

private bool ValidateCertificate(HttpRequestMessage message, X509Certificate2 certificate, X509Chain chain, SslPolicyErrors errors)
{
return true;
}
}

一个人会想要检查证书以确保它是他们所期望的。

然后,我在 ConnectionSettings

中添加了这个连接
var connectionSettings = new ConnectionSettings(connnectionPool, new ConnectionWithCert());

可能想做一些依赖注入(inject),但我想我会分享解决方案,以防万一其他人想知道他们需要做什么。

关于ssl - Elasticsearch NEST HttpClientHandler 证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43125310/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com