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

Python Elasticsearch客户端连接Docker OpenSearch出现NotSslRecordException异常如何解决

Python Elasticsearch客户端连接本地Docker OpenSearch服务失败问题及解决方案

问题描述

使用Python Elasticsearch客户端连接本地通过Docker运行的OpenSearch服务时连接失败,服务端持续抛出如下报错:

opensearch-node1       | [2021-09-25T00:09:09,526][ERROR][o.o.s.s.h.n.SecuritySSLNettyHttpServerTransport] [opensearch-node1] Exception during establishing a SSL connection: io.netty.handler.ssl.NotSslRecordException: not an SSL/TLS record:

OpenSearch按照官方指引通过Docker在本地安装部署,测试连接的代码如下:

# es = Elasticsearch(timeout=600, hosts="http://localhost:9200", http_auth=('admin', 'admin'), use_ssl=False, verify_certs=False)
es = Elasticsearch(timeout=600, hosts=["http://localhost:9200"])
es.ping()

环境版本信息:

  • Python版本:3.9.7
  • Elasticsearch Python依赖包版本:7.15.0

解决方案

问题由两个原因导致,对应调整如下:

  1. 版本兼容问题:OpenSearch兼容的Elasticsearch Python客户端最高版本为7.13.4,高于该版本会出现连接异常,需先降级依赖包版本
  2. 客户端初始化参数调整:本地开发环境按照如下方式初始化客户端即可正常连接
es = Elasticsearch(['https://admin:admin@localhost:9200/'], 
                   use_ssl=False,
                   verify_certs=False,
                   ssl_show_warn=False)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 01:06:04