行動分析のためのCORSの設定
行動分析は、イベントを直接Elasticsearch APIに送信します。これは、ブラウザがElasticsearch APIに直接リクエストを行うことを意味します。Elasticsearchはクロスオリジンリソースシェアリング (CORS)をサポートしていますが、この機能はデフォルトで無効になっています。したがって、ブラウザはこれらのリクエストをブロックします。
これに対する2つの回避策があります:
ElasticsearchでCORSを有効にする
これは最も簡単なオプションです。次の内容をelasticsearch.yml
ファイルに追加して、ElasticsearchでCORSを有効にします:
Yaml
http.cors.allow-origin: "*" # ローカル開発用に制限のない値のみを使用してください
# 本番環境で特定のオリジン値を使用する、例えば `http.cors.allow-origin: "https://
<my-website-domain.example>"`
http.cors.enabled: true
http.cors.allow-credentials: true
http.cors.allow-methods: OPTIONS, POST
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をサポートするサーバーを介してリクエストをプロキシできます。これはより複雑ですが、有効なオプションです。