首页 > 解决方案 > Kubernetes 入口重定向和重写

问题描述

快速提问,因为我确信它很容易解决,但似乎无法弄清楚!

我们有一个在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 但这不起作用,并且与此结合使用 - path: /(/|$)(.*)

完整的 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

谢谢约翰

标签: kuberneteskubernetes-ingress

解决方案


nginx.ingress.kubernetes.io/server-snippet: | 返回 301 https://www.awesomeapp.com$request_uri;


推荐阅读