<p>I have setup a name based ingress controller, but it doesn't seem to work for anything other than <code>/</code>.</p>

<p>So <code>http://metabase.domain.com</code> works but <code>http://metabase.domain.com/style/app.css</code> does not.</p>

<p>This is my config:</p>

<pre><code>apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  namespace: domain
  annotations:
    kubernetes.io/ingress.global-static-ip-name: "domain"
  name: domain-ingress
spec:
  rules:
  - host: metabase.domain.com
    http:
      paths:
      - path: /
        backend:
          serviceName: metabase
          servicePort: 80
  - host: jenkins.domain.com
    http:
      paths:
      - path: /
        backend:
          serviceName: jenkins
          servicePort: 80
</code></pre>

<p>From the nginx.conf in the everything looks normal too. For some reason the nginx access and error logs are also empty so can't find anything from there too</p>

<p>As you mentioned, there is no error in the log files, and everything looks normal from
your perspective. I may suggest to tune up ingress using annotations tags. 
I've checked <a href="https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/nginx-configuration/annotations.md#rewrite" rel="noreferrer">documentation of ingress-nginx</a> and found that below annotations may help a bit.</p>

<p>In some scenarios, the exposed URL in the backend service differs from the specified path 
in the Ingress rule. Without a rewrite, any request will return 404. 
Set the annotation </p>

<pre><code>nginx.ingress.kubernetes.io/rewrite-target
</code></pre>

<p>to the path expected by the service.</p>

<pre><code>apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
  name: rewrite
  namespace: default
spec:
  rules:
  - host: rewrite.bar.com
    http:
      paths:
      - backend:
          serviceName: http-svc
          servicePort: 80
        path: /something
</code></pre>

<p>If the Application Root is exposed in a different path and needs to be redirected, set the annotation</p>

<pre><code>nginx.ingress.kubernetes.io/app-root
</code></pre>

<p>to redirect requests for /.</p>

<pre><code>apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    nginx.ingress.kubernetes.io/app-root: /app1
  name: approot
  namespace: default
spec:
  rules:
  - host: approot.bar.com
    http:
      paths:
      - backend:
          serviceName: http-svc
          servicePort: 80
        path: /
</code></pre>

<p>If the application contains relative links, it is possible to add an additional annotation </p>

<pre><code>nginx.ingress.kubernetes.io/add-base-url
</code></pre>

<p>that will prepend a base tag in the header of the returned HTML from the backend.</p>
