<p>On my AKS cluster I have a Nginx ingress controller that I used to reverse proxy my kibana service running on the AKS. I want to however add another http services through the ingress, rabbitmq management console.</p>

<p>I'm unable to get both to work with the following configuration:</p>

<pre><code>apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  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
    secretName: dev-secret   
  rules:
  - host: dev.endpoint.net
    http:
      paths:
      - path: /
        backend:
          serviceName: kibana-kibana
          servicePort: 5601
      - path: /rabbit
        backend:
          serviceName: rabbitmq
          servicePort: 15672
</code></pre>

<p>The Kibana works fine at root however RabbitMQ fails to load with a <code>503</code> with any path except <code>/</code>. If RabbitMQ's path is <code>/</code> then it works fine but then Kibana won't run.</p>

<p>I assume this is because internally they are sitting on the root aka localhost:15672 so it redirects to / on dev.endpoint.net. </p>

<p>How do I have multiple services like Kibana and RabbitmQ running from one endpoint? </p>

<p>What you need to do is set the <code>basePath</code> for kibana to <code>/kibana</code></p>

<p>See the below url</p>

<p><a href="https://www.elastic.co/guide/en/kibana/current/settings.html" rel="nofollow noreferrer">https://www.elastic.co/guide/en/kibana/current/settings.html</a></p>

<p>You are looking to configure <code>server.basePath</code> to <code>/kibana</code>. Then this will sort the reverse proxying issues and you can keep the MQ one directly on root <code>/</code></p>

<p>You can also set <code>SERVER_BASEPATH</code> environment variable in your <code>kibana</code> pod and it will automatically pick the base path from that variable</p>
