<p>I'm trying to implement SSL Passtrough with <code>nginx-ingress-controller</code>. This is my Ingress Object:</p>
<pre><code>apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/backend-protocol: HTTPS
    nginx.ingress.kubernetes.io/ssl-passthrough: &quot;true&quot;
    nginx.ingress.kubernetes.io/ssl-redirect: &quot;true&quot;
  labels:
    my-label: example
  name: example
  namespace: example
spec:
  rules:
  - host: '*.example.com'
    http:
      paths:
      - backend:
          serviceName: example
          servicePort: 8443
        path: /
</code></pre>
<p>The <code>--enable-ssl-passtrough</code> flag is present in the controller args.</p>
<p>When request is coming trough ingress controller to my underlying service I'm trying to parse the SNI to find out what domain was used to find out the certificate I should present, but the service cannot find the SNI and returns this error:</p>
<pre><code>{&quot;level&quot;:&quot;debug&quot;,&quot;ts&quot;:1592992137.1836417,&quot;msg&quot;:&quot;Error getting server name&quot;,&quot;error&quot;:&quot;No hostname&quot;}
</code></pre>
<p>Does <code>nginx-ingress-controller</code> remove the SNI when parsing? Or what may be the reason for such behavior?</p>
<p>Thanks in advance for help</p>

<p>I contacted nginx-ingress developers directly and I got information that the reason this is not working is the wildcard domain, which is not supported by <code>nginx-ingress</code>.</p>
<p>Everything else is configured correctly and when changing <code>*.example.com</code> into something specific (e.g. <code>whatever.example.com</code>) it works correctly.</p>
