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

文章目录

需求

业务有一个统一入口

java 复制代码
/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/

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

找到


https://nginx.org/en/docs/http/ngx_http_core_module.html#var_query_string


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

可参考 这里

相关推荐
OpenCSG13 小时前
CSGClaw v0.3.0版本更新
运维·docker·容器
噗噗1213 小时前
从零到一:如何通过 QiweAPI 快速实现企业微信自动化集成
运维·自动化·企业微信
山人在山上13 小时前
arcgis server 暴力迁移
运维·服务器·arcgis
爱喝水的鱼丶13 小时前
SAP-ABAP:ABAP Development Tools(ADT)安装配置学习分享教程(四篇连载)第四篇:ADT连接故障排查与环境迁移教程
运维·开发语言·数据库·学习·sap·abap
久绊A13 小时前
Copy Fail Linux内核提权漏洞(CVE-2026-31431)
linux·运维·服务器
剑神一笑13 小时前
Linux grep 命令深度解析:从正则表达式到性能优化
linux·运维·正则表达式
Bert.Cai14 小时前
Linux bc命令详解
linux·运维·服务器
小小仙。14 小时前
IT自学第四十三天(微服务登录认证)
运维·微服务·架构
桌面运维家14 小时前
Linux磁盘IO调度器配置技巧 提升系统读写性能
linux·运维·服务器
xcjbqd014 小时前
SAP硬件选择详解:服务器、存储与网络的全面解析
运维·服务器·网络