首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >elastic_transport.TlsError:由:TlsError引起的TLS错误(由:SSLError引起的TLS错误([SSL: WRONG_VERSION_NUMBER]错误版本号(_ssl.c:852))

elastic_transport.TlsError:由:TlsError引起的TLS错误(由:SSLError引起的TLS错误([SSL: WRONG_VERSION_NUMBER]错误版本号(_ssl.c:852))
EN

Stack Overflow用户
提问于 2022-04-09 06:57:33
回答 3查看 3.7K关注 0票数 2

试图将elasticsearch停靠器容器与elasticsearch客户端连接时出现此错误。

代码语言:javascript
复制
    /home/raihan/dev/aims_lab/ai_receptionist/env/lib/python3.6/site-packages/elasticsearch/_sync/client/__init__.py:379: SecurityWarning: Connecting to 'https://localhost:9200' using TLS with verify_certs=False is insecure
  **transport_kwargs,
<Elasticsearch(['https://localhost:9200'])>
Traceback (most recent call last):
  File "test_all.py", line 29, in <module>
    resp = es.index(index="test-index", id=1, document=doc)
  File "/home/raihan/dev/aims_lab/ai_receptionist/env/lib/python3.6/site-packages/elasticsearch/_sync/client/utils.py", line 404, in wrapped
    return api(*args, **kwargs)
  File "/home/raihan/dev/aims_lab/ai_receptionist/env/lib/python3.6/site-packages/elasticsearch/_sync/client/__init__.py", line 2218, in index
    __method, __path, params=__query, headers=__headers, body=__body
  File "/home/raihan/dev/aims_lab/ai_receptionist/env/lib/python3.6/site-packages/elasticsearch/_sync/client/_base.py", line 295, in perform_request
    client_meta=self._client_meta,
  File "/home/raihan/dev/aims_lab/ai_receptionist/env/lib/python3.6/site-packages/elastic_transport/_transport.py", line 334, in perform_request
    request_timeout=request_timeout,
  File "/home/raihan/dev/aims_lab/ai_receptionist/env/lib/python3.6/site-packages/elastic_transport/_node/_http_urllib3.py", line 199, in perform_request
    raise err from None
elastic_transport.TlsError: TLS error caused by: TlsError(TLS error caused by: SSLError([SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:852)))

elastic.py的内容

代码语言:javascript
复制
    host = "https://localhost:9200"
es = Elasticsearch(host, ca_certs=False, verify_certs=False)
print(es)

doc = {
    'author': 'kimchy',
    'text': 'Elasticsearch: cool. bonsai cool.',
    'timestamp': datetime.now(),
}
resp = es.index(index="test-index", id=1, document=doc)
print(resp['result'])

resp = es.get(index="test-index", id=1)
print(resp['_source'])

elasticsearch文档中的内容

代码语言:javascript
复制
FROM docker.elastic.co/elasticsearch/elasticsearch:7.12.0
RUN elasticsearch-plugin install --batch https://github.com/alexklibisz/elastiknn/releases/download/7.12.0.0/elastiknn-7.12.0.0.zip

urllib3==1.26.9 requests==2.27.1

EN

回答 3

Stack Overflow用户

发布于 2022-07-11 06:12:51

您应该将"https“更改为"http”,这是答案。

票数 1
EN

Stack Overflow用户

发布于 2022-08-08 12:36:26

代码语言:javascript
复制
#disable certificate
es = Elasticsearch(hosts="https://localhost:9200", basic_auth=(USER, PASS), verify_certs=False)

#if getting an issue relevant to the certificate then:
es = Elasticsearch(hosts="https://localhost:9200", basic_auth=(USER, PASS), ca_certs=CERTIFICATE, verify_certs=False)

# I hope you know where to find certificate

Reference 继续了解更多信息

票数 1
EN

Stack Overflow用户

发布于 2022-07-19 03:44:09

您必须检查是否正确设置了scheme,也就是说,如果https是为运行弹性的本地主机编写的,而不是http,则会产生此错误。

如果弹性只在http上运行,下面的代码将引发TLS错误。

代码语言:javascript
复制
es = Elasticsearch([{'host': 'localhost', 'port':9200, 'scheme':'https'}])

解决这一问题的正确方法应该是重新配置TLS,使其同时侦听httpshttp,或者简单地使用当前运行弹性节点的正确方案名称。

更正代码应是:

代码语言:javascript
复制
es = Elasticsearch([{'host': 'localhost', 'port':9200, 'scheme':'http'}])
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71805911

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档