【发布时间】:2021-05-01 07:47:30
【问题描述】:
我有一个 EKS 集群,以及一个基于 Webflow(并由其托管)的独立网站。
集群在cluster.com和网站website.webflow.io后面
我想要实现的是将来自cluster.com/website 的请求代理到website.webflow.io
根据我的研究,这个问题可以/可能通过 ExternalName 服务来解决。不幸的是,它并没有为我解决这个问题,它正在尝试在集群中进行 DNS 查找。我也尝试了 Endpoints 的各种其他配置。 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
有没有一种直接的方法来实现这一点?配置中有什么突出的错误?
【问题讨论】:
-
“应该/可能工作”?你有没有试过这个?你希望我为你测试它吗?
-
当然我试过了,还有很多其他的方法。这个最接近应该起作用的感觉,但事实并非如此。它正在尝试在集群本身内进行 DNS 查找。编辑:通过这个应该/可能工作我的意思是,ExternalName 是我发现可以解决这个问题的最接近的东西。但事实并非如此。
标签: nginx kubernetes nginx-ingress amazon-eks