首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Kubernetes入口删除路由路径

从Kubernetes入口删除路由路径
EN

Stack Overflow用户
提问于 2018-10-22 14:14:01
回答 2查看 17.5K关注 0票数 17

我在kubernetes中部署了名为"test“的服务。服务名称:测试端口: 80

存在名为"/abc“的终结点

ingress.yaml

代码语言:javascript
复制
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: load-balancer

spec:
  rules:
  - http:
      paths:
      - path: /test/*
        backend:
          serviceName: test
          servicePort: 80

接口调用"http://ip-address/test/abc“给出了404错误。但是终结点"/test/abc“工作正常。

路由时需要跳过"/test“。我是怎么做的。

EN

回答 2

Stack Overflow用户

发布于 2018-10-25 12:36:33

您正在寻找url重写功能。目前仅支持nginx-ingress (不支持GKE入口)。https://github.com/kubernetes/ingress-nginx/blob/master/docs/examples/rewrite/README.md

但是如果你愿意,你可以在GKE上安装nginx-ingress控制器,这里有关于如何做到这一点的documentation

票数 12
EN

Stack Overflow用户

发布于 2021-01-15 02:40:43

代码语言:javascript
复制
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /$2
  name: rewrite
  namespace: default
spec:
  rules:
  - host: rewrite.bar.com
    http:
      paths:
      - backend:
          serviceName: http-svc
          servicePort: 80
        path: /something(/|$)(.*)

在这个入口定义中,(.*)捕获的任何字符都将分配给占位符$2,然后将其用作重写目标注释中的参数。

例如:

  • rewrite.bar.com/something重写到rewrite.bar.com/

来源:https://github.com/kubernetes/ingress-nginx/blob/master/docs/examples/rewrite/README.md

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52923298

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档