<p>I have the following ingress resource</p>

<pre><code>
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: kubernetes-demo-ing
  annotations:
    nginx.ingress.kubernetes.io/ssl-redirect: \"false\"
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  rules:
    - host: test.my-docker-kubernetes-demo.com
      http:
        paths:
          - path: /*
            backend:
              serviceName: my-demo-service
              servicePort: 3000
</code></pre>

<p>My app was not getting accessed here <code>test.my-docker-kubernetes-demo.com</code> i was getting <code>too many redirects error</code></p>

<p>but when i replaced under path from <code>path: /* to path: /</code>, it worked.</p>

<p>But i am not able to find how it fixed the problem, any help in understanding or explaining this would be great.</p>

<p>The meaning of <code>/</code> and <code>/*</code> depends on your <a href="https://kubernetes.io/docs/concepts/services-networking/ingress-controllers/" rel="nofollow noreferrer">ingress implementation</a>, for example there are different ways of selecting a range of paths using the NGINX vs GCE ingress implementations:</p>

<ul>
<li>NGINX: <a href="https://kubernetes.github.io/ingress-nginx/user-guide/ingress-path-matching/" rel="nofollow noreferrer">https://kubernetes.github.io/ingress-nginx/user-guide/ingress-path-matching/</a></li>
</ul>

<blockquote>
  <p>path: /foo/.*</p>
</blockquote>

<ul>
<li>GCE: <a href="https://cloud.google.com/kubernetes-engine/docs/tutorials/http-balancer#step_6_optional_serving_multiple_applications_on_a_load_balancer" rel="nofollow noreferrer">https://cloud.google.com/kubernetes-engine/docs/tutorials/http-balancer#step_6_optional_serving_multiple_applications_on_a_load_balancer</a></li>
</ul>

<blockquote>
  <p>path: /*</p>
</blockquote>

<p>You can choose the implementation to use by setting the <a href="https://kubernetes.github.io/ingress-nginx/user-guide/multiple-ingress/" rel="nofollow noreferrer">kubernetes.io/ingress.class</a> annotation.</p>

<p>In your case, assuming you're using NGINX, <code>/*</code> isn't interpreted as a glob pattern so only allows connecting literally to <code>/*</code>. Anything else would be sent to the <a href="https://kubernetes.github.io/ingress-nginx/user-guide/default-backend/" rel="nofollow noreferrer">default backend</a>.</p>
