Kubernetes nginx ingress rabbitmq management and kibana
What you need to do is set the basePath
for kibana to /kibana
See the below url
https://www.elastic.co/guide/en/kibana/current/settings.html
You are looking to configure server.basePath
to /kibana
. Then this will sort the reverse proxying issues and you can keep the MQ one directly on root /
You can also set SERVER_BASEPATH
environment variable in your kibana
pod and it will automatically pick the base path from that variable
One idea would be to do host name based rules to switch backends. However, this would require a wildcard or SAN SSL certificate.
apiVersion: extensions/v1beta1kind: Ingressmetadata: name: ingress-aegis namespace: dev annotations: kubernetes.io/ingress.class: nginx certmanager.k8s.io/cluster-issuer: letsencrypt-prod nginx.ingress.kubernetes.io/rewrite-target: / spec: tls: - hosts: - dev.endpoint.net - rabbit.endpoint.net secretName: dev-secret rules: - host: dev.endpoint.net http: paths: - path: / backend: serviceName: kibana-kibana servicePort: 5601 - host: rabbit.endpoint.net http: paths: - path: / backend: serviceName: rabbitmq
For RabbitMQ Management UI via ingress, set the following in the rabbitmq.conf file (you can use configmaps and mount the file inside the pod)
management.path_prefix = /rabbit
In the Ingress set the following :
... path: /rabbit(/|$)(.*)...