Настройка CORS для анализа поведения
Анализ поведения отправляет события напрямую в API Elasticsearch. Это означает, что браузер отправляет запросы непосредственно в API Elasticsearch. Elasticsearch поддерживает Cross-Origin Resource Sharing (CORS), но эта функция по умолчанию отключена. Поэтому браузер заблокирует эти запросы.
Существуют два обходных пути:
Включить CORS в Elasticsearch
Это самый простой вариант. Включите CORS в Elasticsearch, добавив следующее в ваш elasticsearch.yml файл:
http.cors.allow-origin: "*" # Only use unrestricted value for local development # Use a specific origin value in production, like `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.
- В меню развертывания перейдите на страницу Редактировать.
- В разделе Elasticsearch выберите Управление настройками пользователей и расширениями.
- Обновите настройки пользователя указанной выше конфигурацией.
- Выберите Сохранить изменения.
Проксирование запроса через сервер, поддерживающий CORS
Если вы не можете включить CORS в Elasticsearch, вы можете проксировать запрос через сервер, поддерживающий CORS. Это сложнее, но является жизнеспособным вариантом.
© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/8.17/behavioral-analytics-cors.html