Nginx - 根据请求参数路由进行不同的响应

这篇具有很好参考价值的文章主要介绍了Nginx - 根据请求参数路由进行不同的响应。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


Nginx - 根据请求参数路由进行不同的响应,【Nginx】,nginx,运维

需求

业务有一个统一入口

/api/biz?type=1
/api/biz/type=2

需要对不同的接口实现流控

最常见的是通过location进行路径匹配的时候,但是无法使用正则表达一起捕获这个路径和querstring的参数。如果我们想通过URL里面的Query String进行不同的rewrite,应该如何处理呢?答案就是$arg变量。

Nginx里面$query_string$args相同,存储了所提交的所有$query_string;比如&type=1&name=artisan
如果想要在nginx里面单独访问这些变量。可以这样 比如$type变量可以这样访问 $arg_type


思路

还是需要找 nginx 的内置参数 看看能不能获取到传递的参数

https://nginx.org/en/docs/

Nginx - 根据请求参数路由进行不同的响应,【Nginx】,nginx,运维

https://nginx.org/en/docs/varindex.html

找到

Nginx - 根据请求参数路由进行不同的响应,【Nginx】,nginx,运维
https://nginx.org/en/docs/http/ngx_http_core_module.html#var_query_string

Nginx - 根据请求参数路由进行不同的响应,【Nginx】,nginx,运维
Nginx - 根据请求参数路由进行不同的响应,【Nginx】,nginx,运维

location /api/biz{ 
   # 注意if后面要跟着空格
   if ($query_string ~* ^(.*)type=1){
      // 响应
   }
   if ($query_string ~* ^(.*)type=2){
      // 响应
   }

可参考 这里

Nginx - 根据请求参数路由进行不同的响应,【Nginx】,nginx,运维文章来源地址https://www.toymoban.com/news/detail-697650.html

到了这里,关于Nginx - 根据请求参数路由进行不同的响应的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • nginx 中新增url请求参数

     1、nginx中新增配置:     set $args \\\"$args参数名=参数值\\\";    示例: set $args \\\"$argsdemo1=cn_yaojindemo2=123123myip=$remote_addr\\\"; 2、java代码测试效果 3、查看实际效果:    

    2024年02月11日
    浏览(40)
  • 一次不规范HTTP请求引发的nginx响应400问题分析与解决

    最近分析数据偶然发现nginx log中有一批用户所有的HTTP POST log上报请求均返回400,没有任何200成功记录,由于只占整体请求的不到0.5%,所以之前也一直没有触发监控报警,而且很奇怪的是只对于log上报的POST接口会存在这种特定用户全部400的情况,而对于其他接口无论POST还是

    2024年02月14日
    浏览(49)
  • (待解决)java项目,nginx代理,请求200,但页面返回空白,响应体为空

    由于模拟分布式项目,只有一台主机(win10:192.168.31.225),一台虚拟机(centOS:192.168.204.81),需要通过win10主机的host的文件,将不同的域名都映射到虚拟机。 然后通过nginx作为代理服务器(安装在cengtOS的docker容器中),实现动静分离、反向代理和负载均衡。 nginx将请求转给

    2024年01月20日
    浏览(37)
  • Nginx 获取自定义请求header头和URL参数

    在 ngx_lua 中访问 Nginx 内置变量 ngx.var.http_HEADER 即可获得请求头HEADER的内容。 在 nginx配置中,通过$http_HEADER 即可获得请求头HEADER的内容。 案例: 在nginx的location配置中,在获取header配置时, 须要在header名称前面加上固定前缀“http_“,并将header名称中的“-”中划线变为下划线

    2024年02月04日
    浏览(34)
  • 关于SpringBoot、Nginx 请求参数包含 [] 特殊符号 返回400状态

    问题来源: 使用RESTful风格发送带有特殊符号(如:点、大括号等)的请求,当使用Nginx做地址映射时会返回报\\\"HTTP Status 400-Bad Request\\\"的错误,这个时候我们需要对Nginx的映射方式做一下调整。 Nginx调整完发现跳转后又报了同样的错误,是因为SpringBoot也需要做兼容 如果请求地址是

    2024年02月15日
    浏览(43)
  • Nginx 重定向后请求参数丢失问题及解决方案

    在日常开发和运维中,我们经常会遇到需要使用 Nginx 进行反向代理的场景。但在配置 proxy_pass 时,有时候可能会遇到请求参数丢失的问题。在这篇文章中,我们将会详细探讨这个问题并给出几种解决方案。 假设我们有一个基础的 Nginx 反向代理配置,如下: 当我们通过 Ngin

    2024年02月05日
    浏览(70)
  • 若依 vue前端 动态设置路由path不同参数 在页面容器里打开新页面(新路由),面包屑和标签页标题根据参数动态改变,面包屑多级标题,侧边栏对应菜单亮起

    因为是在vue源码的基础上进行修改,所以,就没有复制代码在文章上,采取的是截图对比源码和我修改的代码片段。要麻烦你们自己手敲了。 场景:在费用配置列表中,点击每一项的配置,都会在页面容器内部打开一个新页面,所以新页面的路径一样,根据传的参数不同,面

    2024年01月16日
    浏览(55)
  • Nginx域名重定向(如何访问的域名和实际的数据请求路径不同,可解决前端跨域)

    感情需要被抑制,不能泛滥… 当需要将一个域名重定向到另一个域名并且用户仍然看到原始域名时,Nginx是一个强大的工具。这种场景通常涉及到反向代理或重写URL的技巧。在本篇博客中,我们将详细介绍如何使用Nginx来实现这个目标,以及提供多个示例。 背景 假设您有两个

    2024年02月06日
    浏览(55)
  • NGINX 路由配置与参数详解(https配置、跨域配置、socket配置)

    Nginx 是一个高性能的开源Web服务器,也可以用作反向代理服务器、负载均衡器和HTTP缓存。它的设计目标是提供高并发、低内存消耗和高度可伸缩性,使其成为处理大量并发连接的理想选择。 NGINX 基础部分可以参考我这篇文章:NGINX - 高级负载均衡器、Web服务器、反向代理 配

    2024年01月19日
    浏览(41)
  • 【python】python根据传入参数不同,调用不同的方法

    大家好,我是木头左。 今天介绍三种不同方法实现根据传入参数不同,调用不同的方法。 使用条件语句 在Python中,可以使用条件语句(如if-elif-else语句)来根据传入的参数调用不同的方法。以下是一个示例: 在上述示例中,我们定义了三个不同的方法(method1,method2和met

    2024年02月09日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包