行動分析のためのCORSの設定

行動分析は、イベントを直接Elasticsearch APIに送信します。これは、ブラウザがElasticsearch APIに直接リクエストを行うことを意味します。Elasticsearchはクロスオリジンリソースシェアリング (CORS)をサポートしていますが、この機能はデフォルトで無効になっています。したがって、ブラウザはこれらのリクエストをブロックします。

これに対する2つの回避策があります:

ElasticsearchでCORSを有効にする

これは最も簡単なオプションです。次の内容をelasticsearch.ymlファイルに追加して、ElasticsearchでCORSを有効にします:

Yaml

  1. http.cors.allow-origin: "*" # ローカル開発用に制限のない値のみを使用してください
  2. # 本番環境で特定のオリジン値を使用する、例えば `http.cors.allow-origin: "https://
  3. <my-website-domain.example>"`
  4. http.cors.enabled: true
  5. http.cors.allow-credentials: true
  6. http.cors.allow-methods: OPTIONS, POST
  7. http.cors.allow-headers: X-Requested-With, X-Auth-Token, Content-Type, Content-Length, Authorization, Access-Control-Allow-Headers, Accept

Elastic Cloudでは、Elasticsearchユーザー設定を編集することでこれを行うことができます

  • 1. デプロイメントメニューから、編集ページに移動します。
  • 2. Elasticsearchセクションで、ユーザー設定と拡張機能を管理を選択します。
  • 3. 上記の構成でユーザー設定を更新します。
  • 4. 変更を保存を選択します。

CORSをサポートするサーバーを介してリクエストをプロキシする

ElasticsearchでCORSを有効にできない場合は、CORSをサポートするサーバーを介してリクエストをプロキシできます。これはより複雑ですが、有効なオプションです。