son*_*ava 4 python ssl elasticsearch
self.host="KibanaProxy"
self.Port="443"
self.user="测试"
self.password="测试"
我需要取消证书验证。-k在命令行上使用选项时,它适用于 curl 。但是在使用 Elasticsearch python 模块中的 elasticsearch.Elasticsearch 进行连接时,它会引发错误。
_es2 = Elasticsearch([self.host], port=self.port, scheme="https", http_auth=(self.user, self.password), use_ssl=True, verify_certs=False)
_es2.info()
错误:
raise SSLError('N/A', str(e), e)
elasticsearch.exceptions.SSLError: ConnectionError([SSL: CERTIFICATE_VERIFY_FAILED]
certificate verify failed (_ssl.c:590)) caused by: SSLError([SSL:
CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590))```
Run Code Online (Sandbox Code Playgroud)
son*_*ava 11
找到了。在阅读这篇文章https://github.com/elastic/elasticsearch-py/issues/275 时,我了解了 connection_class。寻找与它相关的一些标准或预定义的方法,所以找到了https://elasticsearch-py.readthedocs.io/en/master/transports.html
解决方案:
from elasticsearch import RequestsHttpConnection
.....
_es2 = Elasticsearch([self.host], port=self.port, connection_class=RequestsHttpConnection, http_auth=(self.user, self.password), use_ssl=True, verify_certs=False)
print(es.ping())
$ ./sn.py
真的
| 归档时间: |
|
| 查看次数: |
7083 次 |
| 最近记录: |