elasticsearch,vue.js,Reactjs,Api,Security,elasticsearch,Vue.js" /> elasticsearch,vue.js,Reactjs,Api,Security,elasticsearch,Vue.js" />

Reactjs 不通过API服务器从客户端访问Elasticseach安全吗?

Reactjs 不通过API服务器从客户端访问Elasticseach安全吗?,reactjs,api,security,elasticsearch,vue.js,Reactjs,Api,Security,elasticsearch,Vue.js,例如,假设在Vue.js或React.js中嵌入以下Javascript代码 var elasticsearch = require ('elasticsearch'); var esclient = new elasticsearch.Client ({ host: 'Elasticsearch host name of Elascticsearch Cloud's(URL?') }); esclient.search ({ index: 'your ind

例如,假设在Vue.js或React.js中嵌入以下Javascript代码

var elasticsearch = require ('elasticsearch');
var esclient = new elasticsearch.Client ({
   host: 'Elasticsearch host name of Elascticsearch Cloud's(URL?')
   });
   esclient.search ({
         index: 'your index',
           body: {
             query: {
              match: {message: 'search keyword'}
   },
   aggs: {
       your_states: {
          terms: {
            field: 'your field',
            size: 10
           }
         }
       }
    }
  }
 ).then (function (response) {
       var hits = response.hits.hits;
 }
);
针对stackoverflow等应用程序的搜索引擎, 如果使用Elasticseach云的角色设置只从公众获取是可以的, 尽管我没有准备API服务器,但我认为上面的客户端代码也可以实现同样的功能, 这是安全问题吗?(例如主机名落在客户端是否有危险)

如果没有问题,搜索引擎的响应会更快,实施成本也会降低, 我想知道为什么很多人不这么做。(因为这样的示例代码在网上不太常见)

谢谢。这不是个好主意

如果任何一个有点编程知识的客户发现了我们的your ElasticSearch IP地址,你就完蛋了,他基本上可以在你不注意的情况下删除所有数据

我不了解XPack安全性,但如果您不使用它,则绝对会被迫将ES隐藏在API后面

然后,您还必须保护您的ES域,以便只允许从API服务器访问,并阻止世界其他地区。

这不是一个好主意

如果任何一个有点编程知识的客户发现了我们的your ElasticSearch IP地址,你就完蛋了,他基本上可以在你不注意的情况下删除所有数据

我不了解XPack安全性,但如果您不使用它,则绝对会被迫将ES隐藏在API后面


然后,您还必须保护您的ES域,以便只允许从API服务器访问,并阻止世界其他地区。

好的,强烈建议不要将ES暴露在外部,特别是如果您没有使用XPack Security,任何人都可以对您的数据做任何事情,因为ES没有内置安全性。好的,强烈反对将ES公开给外部,特别是如果您没有使用XPack Security,任何人都可以对您的数据做任何事情,因为ES没有内置的安全性。我认为,如果您设置运行Elasticsearch的云的角色,以便外部人员只能访问,那么就没有问题。这样,外界的人就不能做删除,更新,张贴,太。这是怎么回事?更好,但我还是要在中间加一层。也许您不需要API,但是在两者之间放置一个NGINX实例,以便您可以限制请求仍然是一个好主意。但是,如果您只允许GET,安全级别是否与API服务器几乎相同?我认为,如果您设置运行Elasticsearch的云的角色,以便外部人员只能获取,则没有问题。这样,外界的人就不能做删除,更新,张贴,太。这是怎么回事?更好,但我还是要在中间加一层。也许您不需要API,但是在两者之间放置一个NGINX实例,以便您可以限制请求仍然是一个好主意。但是,如果只允许GET,安全级别是否与API服务器几乎相同?