0

您好,我目前在 django 中使用 elasticutils 来搜索索引文档,但我的集群没有任何身份验证方法,因此任何人都可以从互联网访问我的 ES 服务器,有没有办法使用 elasticutils 设置密钥 o auth 方法以便唯一拥有密钥的服务器可以查询到 ES 服务器吗?

可能搜索或亚马逊密钥 api 的东西

4

1 回答 1

0

有几种方法可以保护您的 ES 集群。

最简单的方法是安装一个插件,例如elasticsearch-http-basic以保护您的集群。您可以使用BASIC 用户名/密码组合对其进行配置,然后只需配置elasticutils以将这些 BASIC 凭据传递给elasticsearch-py库提供的底层 ES 客户端。

调用时get_es(...),您只需添加http_auth将传递给Elasticsearch构造函数的参数,如下所示:

es_client = get_es(urls=['localhost:9200'], http_auth="username:password")

另一种方法是将 ES 集群隐藏在 Apache 或 Nginx 等 Web 服务器后面,但它比上述解决方案更复杂。

你也可以使用Shield,只要知道它是一个商业产品。

于 2015-11-12T03:28:30.787 回答