我正在试用 AWS Elasticsearch 服务:
https://aws.amazon.com/elasticsearch-service/
非常容易设置。基本上只需点击部署。不幸的是,我无法连接任何 Elasticsearch GUI(ElasticHQ、Elasticsearch Head),因为 AWS 构建中未启用 CORS,并且无法更改 elasticsearch 配置或安装我可以看到的插件。
有谁知道如何在 AWS 上更改这些选项?
我正在试用 AWS Elasticsearch 服务:
https://aws.amazon.com/elasticsearch-service/
非常容易设置。基本上只需点击部署。不幸的是,我无法连接任何 Elasticsearch GUI(ElasticHQ、Elasticsearch Head),因为 AWS 构建中未启用 CORS,并且无法更改 elasticsearch 配置或安装我可以看到的插件。
有谁知道如何在 AWS 上更改这些选项?
我仍然留在 AWS 生态系统中的解决方法是使用 API Gateway 创建 API。
我使用我的 elasticsearch 实例的地址创建了一个新的 POST 端点,然后按照以下指南:AWS API Gateway上的 CORS 将 CORS 添加到该端点。这使我的前端代码能够从不同的域发出请求。
如果它对其他人有用 - 您可以使用Chrome 插件禁用 CORS 以进行测试。
ElasticHQ 和 Elasticsearch Head 仍然无法与 AWS Elasticsearch 一起正常工作(在撰写本文时),因为它们调用/_cluster/state
当前不是受支持的 AWS ElasticSearch 操作之一。
禁用 CORS 并GET
在/_cluster/state
返回时执行
{
Message: "Your request: '/_cluster/state' is not allowed."
}
一些功能在 ElasticHQ 中仍然有效,但我无法让 Elasticsearch Head 工作。
就像@Le3wood 所说,解决方法可能是与 AWS 生态系统集成。除了 API 网关,使用 AWS Lambda 也可以。