在 Kubernetes 入口中,当 use-regex 为真时,为 / 定义路由的正确方法是什么



我需要在我的Kubernetes入口上定义以下路由:

  • my-website.com/*=>web客户端
  • CCD_ 2=>graphqlapi

我试图设置以下内容,但只有/api路由有效:

kind: Ingress
metadata:
name: "my-ingress"
annotations:
"kubernetes.io/ingress.class": nginx
"nginx.ingress.kubernetes.io/affinity": cookie
"nginx.ingress.kubernetes.io/rewrite-target": "/$2"
"nginx.ingress.kubernetes.io/use-regex": "true"
spec:
rules:
- host: my-website.com
http:
paths:
- path: "/api(/|$)(.*)"
backend:
serviceName: web-client
servicePort: 80
- path: "/"
backend:
serviceName: graphql-server
servicePort: 80

/路由有什么问题?

我尝试过使用//(.*)路径,但没有重定向到正确的服务

你能把"nginx.ingress.kubernetes.io/rewrite-target": "/$2"换成"nginx.ingress.kubernetes.io/rewrite-target: /"

还将路径从/api(/|$)(.*)更改为/api/(.*)

我假设web客户端和graphql服务器服务运行良好。

如果您仍然面临这个问题,请分享您的入口控制器日志以了解更多详细信息

相关内容

  • 没有找到相关文章

最新更新