首页 > 解决方案 > NGINX 控制器 - 仅在服务内部删除文件路径,然后将其附加回来

问题描述

我正在尝试为特定场景配置我的 NGINX,但我无法让它工作。我真的很感激一些帮助,因为我对 NGINX 配置的东西很陌生。

所以这就是交易:我在 Kubernetes 上有 3 个服务和入口控制器。

service1: HTTP://example.com/service1
service2: HTTP://example.com/service2
service3: HTTP://example.com/service3

当客户端从 HTTP://example.com/service3/products/categories 请求某些内容,并且 URL 被转发到该 URL 后面的 k8s ClusterIP 服务时,应该从 URL 中删除 /service3。因此该服务仅获取 HTTP://example.com/products/categories。但是,这是我似乎无法开始工作的事情。例如,如果服务将用户重定向到 /nothing,则应将用户重定向到 HTTP://example.com/service3/nothing(请注意 /service3 已返回)。

旁注:如果需要,我愿意切换到 traefik。


这是我的入口控制器的 k8s 配置:
spec:
  ingressClassName: public
  rules:
  - host: example.com
    http:
      paths:
      - backend:
          service:
            name: service1
            port:
              number: 15003
        path: /service1
        pathType: Prefix
      - backend:
          service:
            name: service2
            port:
              number: 15002
        path: /service2
        pathType: Prefix
      - backend:
          service:
            name: service3
            port:
              number: 15004
        path: /service3
        pathType: Prefix

标签: nginxkuberneteskubernetes-ingressnginx-ingress

解决方案


推荐阅读