我正在尝试在我的本地Minikube上设置Nginx Ingress,但是我遇到了实际匹配路径的问题。我设置了两个服务,我希望每个服务在同一个域中提供不同的路径。一个是基于Django的API后端,另一个是基于节点的前端。我的Ingress配置如下:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: test
spec:
rules:
- host: test.local
http:
paths:
- path: /
backend:
serviceName: frontend
servicePort: 3000
- path: /api
backend:
serviceName: backend
servicePort: 8000
- path: /admin
backend:
serviceName: backend
servicePort: 8000
- path: /static
backend:
serviceName: backend
servicePort: 8000
如果我在浏览器中导航到http://test.local/
,则节点前端会成功提供该路由。如果我导航到http://test.local/admin/
,Django后端成功服务于该路由,并将重定向更正为http://pingpong.local/admin/login/?next=/admin/
,因为我没有登录(也可以从Django后端正确提供)。但是,没有任何CSS加载,因为http://test.local/static/
由于某种原因由节点前端提供服务。 /api
路径下的所有内容也都由节点前端提供服务。
我所能找到的任何文档,示例或其他资源似乎都没有表明我在这里做错了什么,所以我有点不知道为什么它是某种工作。
答案 0 :(得分:0)
好吧,我仍然不确定问题究竟是什么,但是在重新启动计算机之后,Ingress现在正在按照我的预期进行工作......目前最好的猜测是在某处发生某种缓存。 / p>