Nginx ingress 正则 与 多个 backend

有时候我们的网站因为迁移,或者其它的一些原因我们需要配置两个或者多个的backend。

这个时候如果想先对首页进行迁移的话。我们就得需要使用 正则表达式。

例如 /$ 表示首页。 ^不需要加自动加上去了

ingress.yaml

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: test-ingress
  namespace: malema-test
  annotations:
    # nginx.ingress.kubernetes.io/rewrite-target: / 不需要
    nginx.ingress.kubernetes.io/use-regex: "true" #支持正则
spec:
  ingressClassName: nginx
  tls: # 没有证书 tls这段可以不用
    - hosts:
      - test.malema.net
      secretName: test-ingress-tls
  rules:
  - host: test.malema.net
    http:
      paths:
      - pathType: Prefix
        path: /
        backend:
          service:
            name: web # 我们的 service (要自己创建好。)
            port:
      - pathType: Prefix
        path: /category
        backend:
          service:
            name: ssr # ssr 站点。
            port: 
      - pathType: Prefix
        path: /$  #首页也要跳到ssr站点 需要启用 use-regex 其它页面还是定向到web
        backend:
          service:
            name: ssr # ssr 站点。
            port: 
      - pathType: Prefix
        path: /_nuxt/ # 要求 rewrite-target 不能是 / 
        backend:
          service:
            name: ssr
            port:
              number: 80
最近更新的
...