【发布时间】:2021-05-23 05:39:10
【问题描述】:
我有一个配置了 nginx 的 kubernetes 集群,可以将流量传输到我的 Angular 应用程序。
它工作正常,但是当我访问myipaddress/api/v1 时 - 我希望 nginx 将流量移植到正在侦听端口 3000 的 express 应用程序,并且角度应用程序不要将 myipaddress/api/v1 视为角度的路由组件不存在。
这是我用于 express 的 kubernetes nginx 入口
apiVersion: v1
kind: Service
metadata:
name: backend
spec:
type: ClusterIP
ports:
- port: 3000
targetPort: 3000
selector:
app: backend
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: backend-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- http:
paths:
- path: /api/?(.*)
pathType: Prefix
backend:
service:
name: backend
port:
number: 3000
这是我的角度入口
---
apiVersion: v1
kind: Service
metadata:
name: webapp
spec:
type: ClusterIP
ports:
- port: 80
targetPort: 80
selector:
app: webapp
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: webapp-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: webapp
port:
number: 80
我想要实现的角度
myipaddres.com -> serve angular application`
myipaddress.com/users -> serve angular router for /users
我想要实现的快递:
myipaddress.com/api/v1/users -> call the users v1 endpoint in express
myipaddress.com/api/v2/users -> call the users v2 endpoint in express
【问题讨论】:
标签: angular express nginx kubernetes