![](/img/trans.png)
[英]python requests: (SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1123)'))
[英]elastic_transport.TlsError: TLS error caused by:TlsError(TLS error caused by: SSLError([SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:852)))
出現此錯誤嘗試將 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
您應該將“https”更改為“http”,這就是答案
您必須檢查 localhost 的 https 和 http。
#disable certificate
s = Elasticsearch(hosts="https://localhost:9200", basic_auth=(USER, PASS), verify_certs=False)
參考關注更多
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.