入口Nginx代理到外部网站(Webflow托管) [英] Ingress Nginx Proxy to Outside Website (Webflow hosted)

查看:0
本文介绍了入口Nginx代理到外部网站(Webflow托管)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个EKS集群,以及一个构建在Webflow上(并由Webflow托管)的独立网站。

群集落后于cluster.com,网站website.webflow.io

我希望实现的是将传入cluster.com/website的请求代理到website.webflow.io

根据我的研究,这个问题可以/可能通过ExternalName服务来解决。不幸的是,它不能为我解决这个问题,它正试图在集群内进行一次DNS查找。我还尝试了使用Endpoint的其他各种配置。ExternalName似乎是我尝试过的所有配置中最有希望的,这就是我附加以下配置的原因。

以下是我的配置:

---
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: "false"
    ingress.kubernetes.io/secure-backends: "true"
    ingress.kubernetes.io/upstream-vhost: "website.webflow.io"
    nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
    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

有没有一种直接的方法来实现这一点?配置中突出的错误是什么?

推荐答案

这是我所做的。

我应用了您的配置,但更改了以下批注名称:

ingress.kubernetes.io/upstream-vhost: "website.webflow.io"

到我在the nginx ingress docs中找到的:

nginx.ingress.kubernetes.io/upstream-vhost: "website.webflow.io"
^^^^^^

试一试,让我知道它是否解决了问题。

编辑: 以下是我使用的完整YAML:

---
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: "false"
    ingress.kubernetes.io/secure-backends: "true"
    nginx.ingress.kubernetes.io/upstream-vhost: "website.webflow.io"
    nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
    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

这篇关于入口Nginx代理到外部网站(Webflow托管)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆