ElasticseachをAPIサーバーを介さず、クライアントからアクセスするのはセキュリティ的に問題ないでしょうか。
例えば、以下のようなJavascriptのコードをVue.jsやReact.jsに埋め込むとします。
var elasticsearch = require('elasticsearch'); var esclient = new elasticsearch.Client({ host: '自前かElascticsearch CloundのElasticsearchのホスト名(URLか?)' }); esclient.search({ index: 'your index', body: { query: { match: { message: '検索キーワード' } }, aggs: { your_states: { terms: { field: 'your field', size: 10 } } } } } ).then(function (response) { var hits = response.hits.hits; } );
teratailのようなアプリの検索エンジンを目指したときに、
クラウドの設定でElasticseachはパブリックからは読み込みだけOKにしていれば、
APIサーバを用意せずとも、上記のクライアント側のコードで同等のことを実現できると思ったのですが、
セキュリテイ的に問題ないでしょうか。(ホスト名がクライアント側にバレるのが危険だとか)
問題ないのであれば、検索エンジンのレスポンスも早くなるし、実装のコストが減るので、
どうして多くの人がやらないのかと疑問に思いました。(このようなsampleコードがネット上に見れないため)
よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/01/25 16:48