禁用Kubernetes扇出入口的路径重写

禁用Kubernetes扇出入口的路径重写,kubernetes,url-rewriting,kubernetes-ingress,Kubernetes,Url Rewriting,Kubernetes Ingress,我的Kubernetes应用程序根据给定的URL使用入口代理对不同服务器的请求:我需要扇出配置。我希望请求的URL在转发到服务器时不被重写。我该怎么做 我希望将所有/apiURL转发到be服务,并将所有其他URL转发到fe服务。但我希望URL转发不变。 比如说 对/api/users的请求应作为对/api/users的请求转发到be服务 对/foo的请求应作为对/foo的请求转发给fe服务 我当前的入口资源如下所示: apiVersion: extensions/v1beta1 kind:

我的Kubernetes应用程序根据给定的URL使用入口代理对不同服务器的请求:我需要扇出配置。我希望请求的URL在转发到服务器时不被重写。我该怎么做

我希望将所有
/api
URL转发到
be
服务,并将所有其他URL转发到
fe
服务。但我希望URL转发不变。 比如说

  • /api/users
    的请求应作为对
    /api/users
    的请求转发到
    be
    服务
  • /foo
    的请求应作为对
    /foo
    的请求转发给
    fe
    服务
我当前的入口资源如下所示:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  ...
spec:
  ...
  rules:
    - host: ...
    - http:
        paths:
          - path: /api
            backend:
              serviceName: be
              servicePort: 8080
          - path: /
            backend:
              serviceName: fe
              servicePort: 80

但这是行不通的;它为请求提供404 Not Found。

Kubernetes入口没有重写您的请求URL,入口控制器正在这样做(无论您使用什么)。例如,如果您的入口控制器是Nginx,那么您可以在入口上控制此行为