<p>I am installing kibana with helm like so</p>

<pre><code> values = [
    &lt;&lt;-EOT
    replicas: 3
    healthCheckPath: /admin/kibana/app/kibana
    kibanaConfig:
      kibana.yml: |
        server.basePath: "/admin/kibana"
        server.rewriteBasePath: true
    ingress:
      enabled: true
      annotations:
        kubernetes.io/ingress.class: kong
        kubernetes.io/tls-acme: "true"
      path: /admin/kibana
</code></pre>

<p>I want kibana to be served at path <code>/admin/kibana</code>. eg. <a href="https://my-server.com/admin/kibana" rel="nofollow noreferrer">https://my-server.com/admin/kibana</a></p>

<p>I see the error <code>{"statusCode":404,"error":"Not Found","message":"not found"}</code></p>

<p>In the logs</p>

<pre><code>"res":{"statusCode":404,"responseTime":24,"contentLength":9},"message":"GET / 404 24ms - 9.0B"}
</code></pre>

<p>The pods are running fine which means health check is passing at <code>/admin/kibana</code>.</p>

<p>I have the <code>server.basePath</code> set as per documentation. What else is missing?</p>

<p>If I port-forward 5601 from my box, </p>

<pre><code>kubectl port-forward svc/kibana 5601:5601
</code></pre>

<p>I can access kibana at <code>localhost:5601/admin/kibana</code>. But not on the domain.</p>

<p>The ingress</p>

<pre><code>apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    kubernetes.io/ingress.class: kong
    kubernetes.io/tls-acme: "true"
  labels:
    app: kibana
    heritage: Tiller
    release: kibana
  name: kibana-kibana
spec:
  rules:
  - host: xxxx.xxxx.app
    http:
      paths:
      - backend:
          serviceName: kibana-kibana
          servicePort: 5601
        path: /admin/kibana
  tls:
  - hosts:
    - xxxx.xxxx.app
    secretName: wildcard-alchemy-tls
</code></pre>

Anshu Dutta
<p>The kong ingress by default was stripping path. Hence the issue.</p>
