Elasticsearch:安装屏蔽后无法使用 python 连接
Elasticsearch : Cannot connect using python when shield is installed
我正在使用 elasticsearch 2.3.1 和 python 2.7。我正在尝试创建一个简单的实例并进行测试
esInstance = Elasticsearch(['https://'+shield_uname+":"+shield_pass+"@"+server+":"+port])
print esInstance.info()
但我明白了
elasticsearch.exceptions.SSLError: ConnectionError(EOF occurred in violation of protocol (_ssl.c:590)) caused by: SSLError(EOF occurred in violation of protocol (_ssl.c:590))
我做错了什么?我在尝试
时遇到同样的错误
requests.get("https://"+shield_uname+":"+shield_pass+"@"+server+":"+port, verify=False)
我该如何解决这个问题?
我认为你最好只 passing the fields as arguments,因为你已经将它们作为单独的变量。
这是身份验证示例的 "fullest" 版本,插入了您的变量:
# SSL client authentication using client_cert and client_key
es = Elasticsearch(
[server],
http_auth=(shield_uname, shield_pass),
port=port,
use_ssl=True,
verify_certs=True,
ca_certs='/path/to/cacert.pem',
client_cert='/path/to/client_cert.pem',
client_key='/path/to/client_key.pem',
)
注意port
后面的参数都是处理SSL的。如果您确实在使用证书,那么您需要确保您已将它们告知 Python。如果您使用的是标准证书,则可以使用 certifi
,如上文 link 所示。
我正在使用 elasticsearch 2.3.1 和 python 2.7。我正在尝试创建一个简单的实例并进行测试
esInstance = Elasticsearch(['https://'+shield_uname+":"+shield_pass+"@"+server+":"+port])
print esInstance.info()
但我明白了
elasticsearch.exceptions.SSLError: ConnectionError(EOF occurred in violation of protocol (_ssl.c:590)) caused by: SSLError(EOF occurred in violation of protocol (_ssl.c:590))
我做错了什么?我在尝试
时遇到同样的错误requests.get("https://"+shield_uname+":"+shield_pass+"@"+server+":"+port, verify=False)
我该如何解决这个问题?
我认为你最好只 passing the fields as arguments,因为你已经将它们作为单独的变量。
这是身份验证示例的 "fullest" 版本,插入了您的变量:
# SSL client authentication using client_cert and client_key
es = Elasticsearch(
[server],
http_auth=(shield_uname, shield_pass),
port=port,
use_ssl=True,
verify_certs=True,
ca_certs='/path/to/cacert.pem',
client_cert='/path/to/client_cert.pem',
client_key='/path/to/client_key.pem',
)
注意port
后面的参数都是处理SSL的。如果您确实在使用证书,那么您需要确保您已将它们告知 Python。如果您使用的是标准证书,则可以使用 certifi
,如上文 link 所示。