【问题标题】:elastic_transport.TlsError: TLS error caused by:TlsError(TLS error caused by: SSLError([SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:852)))elastic_transport.TlsError:TLS错误导致:TlsError(TLS错误导致:SSLError([SSL:WRONG_VERSION_NUMBER]版本号错误(_ssl.c:852)))
【发布时间】:2022-07-11 14:12:51
【问题描述】:

出现此错误尝试将 elasticsearch docker 容器与 elasticsearch-python 客户端连接。

    /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 中的内容

    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 dockerfile 中的内容

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 请求==2.27.1

【问题讨论】:

  • 希望您通过身份验证访问 Elasticsearch url。因此,在主机变量中使用凭据 url 提及它,例如“user:pass@localhost:9200

标签: python elasticsearch elasticsearch-plugin


【解决方案1】:

你应该将“https”改为“http”,这就是答案

【讨论】:

    猜你喜欢
    • 2020-01-03
    • 1970-01-01
    • 1970-01-01
    • 2014-06-17
    • 2021-11-11
    • 1970-01-01
    • 2012-07-09
    • 2016-08-24
    • 1970-01-01
    相关资源
    最近更新 更多