self.host =“KibanaProxy”
自我端口=“443”
self.user=“测试”
self.password="测试"
我需要禁止证书验证。使用选项时它与curl一起使用-k
在命令行上。但是,在使用 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()
Error:
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))```
找到了。
在阅读这篇文章时https://github.com/elastic/elasticsearch-py/issues/275 https://github.com/elastic/elasticsearch-py/issues/275,我了解了connection_class。寻找与之相关的一些标准或预定义方法,所以找到了https://elasticsearch-py.readthedocs.io/en/master/transports.html 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
True
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)