我尝试使用此代码来利用python请求库通过指定HTTPS_PROXY环境变量通过企业HTTP代理连接到elasticsearch,但似乎当我尝试通过HTTPS连接时,HTTPS_PROXY变量被忽略了
from elasticsearch import Elasticsearch, RequestsHttpConnection
es = Elasticsearch([es_url], connection_class=RequestsHttpConnection)
我不能使用HTTP,因为我们的elasticsearch是通过端口443托管在HTTPS上的
我的期望是库应该尝试通过HTTP代理进行连接,但是它似乎仍然在尝试直接连接到主机而不通过公司代理
1条答案
按热度按时间vc9ivgsu1#
SSH
(HTTPS)保护的Elasticsearch Remote服务器,您将需要SSL certificate
文件,该文件通常在Elasticsearch配置文件夹中生成,如下所示:C:\elastic-stack\elasticsearch-8.7.1-windows-x86_64\elasticsearch-8.7.1\config\certs\http_ca.crt
Python
一起工作,但我可以告诉它如何与Java
一起工作。但是有一个小问题,由证书颁发机构(CA)签署的证书不能被Java truststore
识别。Java client
看起来像这样,它与Elastic建立了连接并打印出相关的连接状态: