加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > Nginx > 正文

apache-2.2 – 是否可以通过Content-Type将请求路由到不同的应用程序?

发布时间:2020-05-22 20:33:36 所属栏目:Nginx 来源:互联网
导读:我正在设计一个JSON API,我想使用某种内容协商来对API进行版本控制.我目前正计划使用Vendor MIME Types来做到这一点.虽然我绝对可以在应用程序级别执行此操作,但我认为最好在HTTP服务器级别实现此目的. Apache或nginx可以实现吗?Content-Type看起来像:appli

我正在设计一个JSON API,我想使用某种内容协商来对API进行版本控制.我目前正计划使用Vendor MIME Types来做到这一点.

虽然我绝对可以在应用程序级别执行此操作,但我认为最好在HTTP服务器级别实现此目的. Apache或nginx可以实现吗?

Content-Type看起来像:application / vnd.vendorname-v1 json
或者可能使用参数:application / vnd.vendorname json; v = 1 Nginx对这类问题的惯用方法是通过地图.请参阅my answer at StackOverflow.

基本上,您在http部分中定义一个地图

map $any_variable $my_upstream {
  # Default value:
  default upstream1;

  # Exact match:
  application/vnd.vendorname+json;v=1 upstream2;

  # Regexp:
  ~^application.*vnd.vendorname-v1+json upstream3;
}

您可以在一个地图中混合完全匹配和正则表达式.

然后你只需在你的服务器或位置部分使用$my_upstream:

location / {
  proxy_pass http://$my_upstream$uri;
}

Nginx懒惰地评估地图变量,只有一次(每个请求)以及何时使用它们.

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读