elasticsearch Elasticsearch:将根url从/更改为/elastic
我正在设置elasticsearch群集,我想将域url设置为elasticsearch Elasticsearch:将根url从/更改为/elastic,elasticsearch,dns,url-routing,elasticsearch-6,elasticsearch,Dns,Url Routing,Elasticsearch 6,我正在设置elasticsearch群集,我想将域url设置为/elastic 目前,当我转到/elastic时,elasticsearch认为/elastic是索引的名称 我还没有找到任何关于如何为搜索设置根url上下文的文档。任何帮助都将不胜感激。对于那些通过互联网搜索的人来说,在Kubernetes中如何使用ingress和path而不是/时做类似的事情,可以使用注释nginx.ingress.Kubernetes.io/rewrite-target://这样做: apiVersion:
/elastic
目前,当我转到/elastic
时,elasticsearch认为/elastic
是索引的名称
我还没有找到任何关于如何为搜索设置根url上下文的文档。任何帮助都将不胜感激。对于那些通过互联网搜索的人来说,在Kubernetes中如何使用ingress和path而不是
/
时做类似的事情,可以使用注释nginx.ingress.Kubernetes.io/rewrite-target://
这样做:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
name: elasticsearch
spec:
rules:
- host: k8s-master
http:
paths:
- backend:
serviceName: elasticsearch
servicePort: 9200
path: /elastic
它将在内部映射到
elasticsearch
服务的根上下文,并且index\u not\u found\u异常
已解决。虽然cgrim的答案确实将我引向了正确的方向,但我遇到了一个无法搜索任何索引的问题。相反,这个重写目标对我有效
kind: Ingress
metadata:
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /$2
name: elasticsearch
spec:
rules:
- host: k8s-host
http:
paths:
- backend:
serviceName: elasticsearch-master
servicePort: 9200
path: /elastic(/|$)(.*)
此解决方案仍然会将
/path
映射到根目录,并解决索引未找到\u异常
错误。您需要使用一个web服务器(如nginx或apache)来处理ES,以实现此目的。我将nginx路由/elastic
到elasticsearch客户端,但问题是elasticsearch将url视为/elastic
并认为/elastic
是正在搜索的索引的名称。请注意,Spring boot elasticsearch无法连接到在(此类)路径下运行的elasticsearch实例。我们现在尝试在子域上运行elasticsearch,而不是这里的解决方案。