<p>I would like to expose the dashboard to outside using Ingress. Below is my ingress configuration: </p>

<pre><code>apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: dashboard-ingress
  namespace: kube-system
  annotations:
    nginx.ingress.kubernetes.io/ssl-redirect: "false"
spec:
   rules:
     - http:
          paths:
            - path: /dashboard
              backend:
                serviceName: kubernetes-dashboard
                servicePort: 80
</code></pre>

<p>And the <code>kubernetes-dashboard</code> service: </p>

<pre><code>kubernetes-dashboard   ClusterIP   10.98.198.125   &lt;none&gt;        80/TCP    10d
</code></pre>

<p>Then when I access the outside, I got <code>404 page not found</code>. What did I do wrong in the configuration?</p>

Ock
<p>So I have investigated this, and it is a little bit tricky case.</p>

<p>I installed nginx with Helm Chart.</p>

<p>So first of all, my Ingress.yaml worked with only this two annotations:</p>

<pre><code>nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
nginx.ingress.kubernetes.io/rewrite-target: /`
</code></pre>

<p>After that you will meet a new problem, which is dashboard will not work on /dashboard or any other path. It only works with path <code>/</code> even tho curl shows 200 and all seems to be fine - page still stays as blank.</p>

<p>Unfortunately I could not find a solution to that although I tried multiple configurations and workarounds. You can read more about it in this <a href="https://github.com/kubernetes/ingress-nginx/issues/683" rel="nofollow noreferrer">GitHub</a> issue where there is a workaround - but unfortunately it did not work for me as well. </p>

<p>Hope I spared you some time on thinking why /dashboard does not work, even after the config is correct :) </p>
