<p>I have an EKS cluster, and a separate website built on (and hosted by) Webflow.</p>
<p>The cluster is behind <code>cluster.com</code> and the website <code>website.webflow.io</code></p>
<p>What I would like to achieve is to proxy requests coming to <code>cluster.com/website</code> to <code>website.webflow.io</code></p>
<p>Based on my research, this problem could/might be solved with the ExternalName service. Unfortunately, it doesn't solve it for me, and it's trying to do a DNS lookup within the cluster. I tried various other configurations with Endpoints as well. The ExternalName seems the most promising of everything I tried that's why I'm attaching the configuration below.</p>
<p>Here is what my configuration looks like:</p>
<pre><code>---
kind: Service
apiVersion: v1
metadata:
  namespace: development
  name: external-service
spec:
  type: ExternalName
  externalName: website.webflow.io
  ports:
    - port: 443
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  namespace: development
  name: external-ingress
  annotations:
    ingress.kubernetes.io/preserve-host: &quot;false&quot;
    ingress.kubernetes.io/secure-backends: &quot;true&quot;
    ingress.kubernetes.io/upstream-vhost: &quot;website.webflow.io&quot;
    nginx.ingress.kubernetes.io/backend-protocol: &quot;HTTPS&quot;
    nginx.ingress.kubernetes.io/server-snippet: |
      proxy_ssl_name website.webflow.io;
      proxy_ssl_server_name on;
spec:
  rules:
  - host: cluster.com
    http:
      paths:
      - path: /website
        backend:
          serviceName: external-service
          servicePort: 443

</code></pre>
<p>Is there a straight-forward way to achieve this? What stands out as wrong in the configuration?</p>

<p>Here is what I did.</p>
<p>I applied your config but changed the following annotation name:</p>
<pre><code>ingress.kubernetes.io/upstream-vhost: &quot;website.webflow.io&quot;
</code></pre>
<p>To the one I have found in <a href="https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/" rel="nofollow noreferrer">the nginx ingress docs</a>:</p>
<pre><code>nginx.ingress.kubernetes.io/upstream-vhost: &quot;website.webflow.io&quot;
^^^^^^
</code></pre>
<p>Try it and let me know if it solves it.</p>
<p>EDIT:
here is a complete yaml I used:</p>
<pre><code>---
kind: Service
apiVersion: v1
metadata:
  name: external-service
spec:
  type: ExternalName
  externalName: website.webflow.io
  ports:
    - port: 443

---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: external-ingress
  annotations:
    ingress.kubernetes.io/preserve-host: &quot;false&quot;
    ingress.kubernetes.io/secure-backends: &quot;true&quot;
    nginx.ingress.kubernetes.io/upstream-vhost: &quot;website.webflow.io&quot;
    nginx.ingress.kubernetes.io/backend-protocol: &quot;HTTPS&quot;
    nginx.ingress.kubernetes.io/server-snippet: |
      proxy_ssl_name website.webflow.io;
      proxy_ssl_server_name on;
spec:
  rules:
  - host: cluster.com
    http:
      paths:
      - path: /website
        backend:
          serviceName: external-service
          servicePort: 443
</code></pre>
