【发布时间】:2021-02-24 12:22:04
【问题描述】:
快速的问题,我相信它很容易解决,只是似乎无法弄清楚!
我们有一个在 www.awesomeapp.com 上运行的站点——所有站点都在入口路由上运行良好
但是,我还想将路由域重定向到 www.awesomeapp.com,例如 awesomeapp.com => www.awesomeapp.com
我添加了这个注释 nginx.ingress.kubernetes.io/permanent-redirect:https://www.awesomeapp.com
再次一切正常。
我的问题是如何也添加路径。例如
用户进入 awesomeapp.com/myawesomepage 我想要的是它不仅重定向而且附加路径所以它最终像这样
www.blahblah.com/myawesomepage
我添加了这个 ingress.kubernetes.io/rewrite-target: /$1$2 但这不起作用,并且与此 - 路径:/(/|$)(.*)
完整的yaml配置如下:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: root-routing
labels:
app: awesomeapp
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/permanent-redirect: https://www.awesomeapp.com
ingress.kubernetes.io/rewrite-target: /$1$2
spec:
tls:
- hosts:
- awesomeapp.com
secretName: awesomeapp-com-tlscert
rules:
- host: awesomeapp.com
http:
paths:
- path: /(/|$)(.*)
pathType: Prefix
backend:
service:
name: awesomeapp
port:
number: 80
谢谢 约翰
【问题讨论】:
-
你见过this example吗?
-
是的,但并不完全适用于这种情况,因为域也在发生变化,不是每个人说的域,而是 www 的根。
-
您能否删除永久重定向并验证它在没有它的情况下是否有效?
-
您好,不。只是为了确认它现在看起来像这样。 ingress.kubernetes.io/rewrite-target:awesomeapp.com/$2
-
最好使用from/to www,而不是永久重定向。至于重写:实际上我在这里看不到要重写的内容,但首先尝试调整
path和rewrite。例如:ingress.kubernetes.io/rewrite-target: /myawesomepage和path: /(.*)
标签: kubernetes kubernetes-ingress