首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重写目标不起作用

问重写目标不起作用
EN

Stack Overflow用户
提问于 2018-03-30 23:21:31
回答 3查看 3.1K关注 0票数 2

我尝试在gcloud中使用kubernetes的重写目标,但它似乎没有得到尊重。我的代码如下。也许有我没看到的东西:

代码语言:javascript
复制
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: demo-ingress
  annotations:
    ingress.kubernetes.io/rewrite-target: /
    kubernetes.io/ingress.global-static-ip-name: projectip
spec:

  rules:
  - host: mycustomdomain.com
    http:
      paths:
      - path: /*
        backend:
          serviceName: frontend
          servicePort: 80
      - path: /api/*
        backend:
          serviceName: backend
          servicePort: 80

当我执行curl mycustomdomain.com/api/something时,我的后端总是接收backend/api/something而不是backend/something。我真的没有办法了,我需要一些帮助。

EN

回答 3

Stack Overflow用户

发布于 2018-04-02 07:35:39

我假设您使用的是kubernetes ingress nginx。

查看您的入口清单,似乎重写注释是错误的。

根据文档,它应该是: nginx.ingress.kubernetes.io/rewrite-target

以下是th文档的链接:

https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/annotations.md#rewrite

票数 1
EN

Stack Overflow用户

发布于 2018-04-05 00:54:32

术语rewrite-target具有误导性:它是关于传入请求的路径。

这可能是可行的:将一个带有rewrite-target: /和path: /的入口仅用于前端,将一个带有rewrite-target: /api和path: /的入口仅用于后端。

票数 1
EN

Stack Overflow用户

发布于 2020-07-14 22:00:25

如果您已经使用helm安装了nginx ingress,您还可以查看helm图表目录中的重写示例。它可以在<helm-chart-directory>/examples/rewrite上找到。应该有一个README.md,它应该会有帮助。

在我的例子中,所需的注解是nginx.org\rewrite:"<service-name-1>:<rewrite-target-1>;<service-name-2>:<rewrite-target-2>"

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

https://stackoverflow.com/questions/49576991

复制
相关文章

相似问题

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