Kubernetes nginx 重定向到用户指定 url

Kubernetes nginx redirect to user-specified url

抱歉,我是新手,我部署并公开了 2 个 springboot 应用程序(使用服务),我可以使用 : 访问它,我想使用入口来公开应用程序。

我有这个入口配置来公开 2 个 kubernetes 服务。

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: esse-ingress
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
 rules:
 - host: mssmdns.dz
   http:
     paths:
     - path: /esse-1/*
       backend:
         serviceName: esse-service-1
         servicePort: 8080
     - path: /esse-2/*
       backend:
         serviceName: esse-service-2
         servicePort: 8080

我想按如下方式重定向传入请求:

http://mssmdns.dz/esse-1/a/b/c (from outside) -> http://mssmdns.dz/a/b/c(应用内)

(esse-2 也一样)。

当我写任何 url 时,我都被困在同一页上 (the / url) 我正在使用 kubernetes 和 nginx 作为入口控制器。

提前致谢

ingress-nginx documentation provides an example rewrite configuration.

它在路径上使用正则表达式,然后使用 rewrite-target 注释中正则表达式的第二个匹配组。

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: esse-ingress
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
 rules:
 - host: mssmdns.dz
   http:
     paths:
     - path: /esse-1(/|$)(.*)
       backend:
         serviceName: esse-service-1
         servicePort: 8080
     - path: /esse-2(/|$)(.*)
       backend:
         serviceName: esse-service-2
         servicePort: 8080