You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET Core应用中Nest Client绕过SSL证书验证错误的技术求助

解决Elasticsearch SSL证书验证失败的问题

我帮你搞定这个SSL证书验证的报错——这是因为你的Elasticsearch使用的是不被本地系统信任的SSL证书(比如自签名证书),.NET默认会严格校验证书有效性,所以抛出了这个异常。你只需要给Elasticsearch客户端添加自定义的HttpMessageHandler,跳过证书验证即可,修改后的完整代码如下:

var uris = new[] { new Uri("https://10.8.173.179:9200"), }; 
var connectionPool = new SniffingConnectionPool(uris); 

// 创建自定义HttpHandler,禁用SSL证书验证
var httpHandler = new HttpClientHandler
{
    ServerCertificateCustomValidationCallback = (message, cert, chain, errors) => true
};

var settings = new ConnectionConfiguration(connectionPool, httpHandler); 
settings.BasicAuthentication("elastic", "password"); 

var lowlevelClient = new ElasticLowLevelClient(settings); 
var health = lowlevelClient.Cluster.Health<StringResponse>();

重要提醒:

  • ServerCertificateCustomValidationCallback返回true意味着无论证书是否合法,都会直接信任,这会跳过所有SSL证书校验逻辑。
  • 这个方法只适合开发/测试环境!生产环境绝对不能这么做,必须使用由可信CA颁发的正规SSL证书,否则会带来严重的安全风险。

如果之后你切换到NEST的高等级客户端(ElasticClient),配置方式完全一致,只需要把ElasticLowLevelClient替换成ElasticClient就行。

内容的提问来源于stack exchange,提问作者sumeet

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 07:49:18