我正在尝试设置跨集群搜索。
我的问题是我所有的 ES 集群都在具有基本身份验证的 nginx 代理后面
我可以通过请求 nginx 端点来访问弹性 rest 端点:
https://<username>:<password>@<ngix-enpoint>:<ngix-port>
是否可以使用此终结点和基本身份验证来设置跨群集搜索?
当前elasticsearch.yml
配置:
search:
remote:
cluster_one:
seeds: <ngix-enpoint>:<ngix-port>
cluster_two:
seeds: <ngix-enpoint>:<ngix-port>
我应该在哪里添加身份验证信息? 谢谢。
根据文档,elasticsearch 跨集群搜索功能需要 tcp 连接,无法配置 http 端点。
不幸的是,官方弹性文档没有明确介绍它,但请注意配置示例中使用的端口号:
search:
remote:
cluster_one:
seeds: 127.0.0.1:9300
cluster_two:
seeds: 127.0.0.1:9301
这些端口号来自transport module
的默认范围 9300-9400。
可以将nginx配置为将tcp连接代理到elasticsearch,示例可以在这里找到。 如果跨群集搜索节点与远程群集位于同一专用子网中,则最好公开端口 9300 并直接连接到远程群集节点。