首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >kubernetes nginx虚拟服务器子路由

kubernetes nginx虚拟服务器子路由
EN

Stack Overflow用户
提问于 2021-04-28 09:04:50
回答 1查看 372关注 0票数 1

我对kubernetes nginx虚拟线路感到困惑。https://docs.nginx.com/nginx-ingress-controller/configuration/virtualserver-and-virtualserverroute-resources/#virtualserverroute-subroute

在前缀的情况下,路径必须与引用此资源的VirtualServer路由的路径相同

代码语言:javascript
复制
path: /coffee
action: 
    path: coffee

/coffee会被传递给应用程序吗?

因为当我尝试使用该路由部署虚拟服务器时,它无法工作(例如下面的示例)

代码语言:javascript
复制
path: /one
action: 
    path: hellok8s

但是,我以前使用的这条路径正在工作。

代码语言:javascript
复制
path: /
action: 
    path: hellok8s

举个例子,如果我有一个app-1和app-2.我应该通过主机或子路径来区分它们吗?

  • app-1: helloworld.test.com
  • AP-2: helloworld2.test.com

或者有办法通过下面这样的路径来区分它们?

  • app-1: helloworld.test.com/appone
  • app-2: helloworld.test.com/app 2

-编辑

代码语言:javascript
复制
apiVersion: k8s.nginx.org/v1
kind: VirtualServer
metadata:
  name: hellok8s-app-vs
spec:
  host: helloworld.moonshot.com
  tls:
    secret: nginx-tls-secret
    # basedOn: scheme
    redirect:
      enable: true
      code: 301
      upstream:
  - name: hellok8s
    service: hellok8s-service
    port: 8080
  routes:
  - path: /one
    action:
      proxy:
        upstream: hellok8s
        rewritePath: /
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-28 09:58:48

因此,路径是URL,它将由Nginx向外部世界公开。该路径在内部发生了什么取决于操作的子属性,例如:

在这里,/coffee是最终用户所看到的,但是请求被发送到咖啡服务的根。因此,如果咖啡是运行在8080的K8S中的一个服务,请求将在coffee:8080登陆。

代码语言:javascript
复制
path: /coffee
 action:
  pass: coffee

但是有更多的行为。假设您使用了action.proxy,那么您可以在更细粒度的级别上定义路径应该发生的情况。因此,在下面的示例中,我们将转发到coffee服务,但是请求路径正在重写到filtercoffee

代码语言:javascript
复制
proxy:
  upstream: coffee
  rewritePath: /filtercoffee 

您也可以使用重定向,返回操作的pass指令,但您必须使用使用这里列出的四个中的一个

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

https://stackoverflow.com/questions/67297121

复制
相关文章

相似问题

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