9阅网

您现在的位置是:首页 > 知识 > 正文

知识

reactjs - 当使用Kubernetes nginx Ingress规则时,JS文件不能为Application编码

admin2022-11-05知识12

我正在尝试为react web应用添加基于路径的入口规则,如果我将example.comabc转到abc应用,将example.comxyz转到Xyz应用。

kind: Ingress
metadata:
  name: test-ingress
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /$2
spec:
  rules:
  - http:
      paths:
      - path: /abc(/|$)(.*)
        backend:
          serviceName: abc-service
          servicePort: 80
      - path: /xyz(/|$)(.*)
        backend:
          serviceName: xyz-service
          servicePort: 80

但如果我试着用路径而不是abc,就可以了。不适合xyz

kind: Ingress
metadata:
  name: test-ingress
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /$2
spec:
  rules:
  - http:
      paths:
      - path: /(.*)
        backend:
          serviceName: abc-service
          servicePort: 80
      - path: /xyz(/|$)(.*)
        backend:
          serviceName: xyz-service
          servicePort: 80



【回答】:

试试这个。


kind: Ingress
metadata:
  name: test-ingress
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /$1
spec:
  rules:
  - http:
      paths:
      - path: /abc/?(.*)
        backend:
          serviceName: abc-service
          servicePort: 80
      - path: /xyz/?(.*)
        backend:
          serviceName: xyz-service
          servicePort: 80