【发布时间】:2021-09-17 07:15:45
【问题描述】:
我在 kubernetes 上使用 ingress-nginx。我需要将传入的连接重定向到/ 到托管在webflow 上的博客并执行基于路径的路由。
Webflow 提供类似website123.webflow.com 的域。我想在不执行重定向的情况下为博客提供服务。我想屏蔽 webflow 域并使用默认值。
到目前为止,这是我带来的:
---
apiVersion: v1
kind: Service
metadata:
name: homepage
spec:
externalName: website123.webflow.io
type: ExternalName
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
external-dns.alpha.kubernetes.io/hostname: my.custom.domain.com
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/load-balance: ewma
nginx.ingress.kubernetes.io/proxy-body-size: 4G
nginx.ingress.kubernetes.io/upstream-vhost: website123.webflow.io
service.beta.kubernetes.io/do-loadbalancer-hostname: my.custom.domain.com
labels:
source: github
name: http
namespace: panattt1
spec:
rules:
- host: my.custom.domain.com
http:
paths:
- path: /api
backend:
serviceName: http
servicePort: 80
- path: /images
backend:
serviceName: http
servicePort: 80
- path: /app
backend:
serviceName: http
servicePort: 80
- path: /game
backend:
serviceName: http
servicePort: 80
- path: /mapmaker
backend:
serviceName: http
servicePort: 80
- path: /dashboard
backend:
serviceName: http
servicePort: 80
- path: /
backend:
serviceName: homepage
servicePort: 80
tls:
- hosts:
- my.custom.domain.com
上述解决方案无法正常工作。浏览器中的URL从my.custom.domain.com变成website123.webflow.io,这不是我想要的。
我相信主机头会到达/ 以外的路径,这并不理想。尚未测试。
如果删除 nginx.ingress.kubernetes.io/upstream-vhost,我会从 webflow 的 CDN 收到错误,因为 $host 标头使用的域不可用。添加自定义域会产生相同的错误。
如果我可以使用ingress-nginx 优雅地处理这种情况,有什么想法吗?
【问题讨论】:
-
我相信是 webflow 在检测到 URL 与原来不同时会进行重定向。
标签: nginx kubernetes cname webflow ingress-nginx