通过nginx_lua实现根据请求参数分发道不同后端节点

来源:互联网 发布:轩辕剑伏曦殿进阶数据 编辑:程序博客网 时间:2024/05/16 14:32

由于applestore提交后审核比较慢,既要保证审核又要保证现有用户访问不受影响,想出来这个方案,网上搜了些资料,实现起来还算简单。

需要将nginx_lua模块编译进nginx

具体实现如下:

cat test.lua

local request_method = ngx.var.request_method
if request_method == "GET" then
        local arg = ngx.req.get_uri_args()["clientVersion"] or 0
        ngx.var.version = arg
elseif request_method == "POST" then
        ngx.req.read_body()
        local arg = ngx.req.get_post_args()["clientVersion"] or 0
        ngx.var.version = arg
end;
if ngx.var.version == "2.5.0" then
    ngx.var.rbbackend_server = "pool_2.5"
end;

配置的时间配置具体的变量就可以了。对于源路径和目标路径不统一,可以做一次rewrite,直接配置发现请求参数带不进去。

也可以通过set_form_input实现

深入了解可以研究研究openresty





0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 痒咳嗽停不下来怎么办 嗓子疼咳嗽有痰怎么办 上火了喉咙干痒怎么办 喉咙里总是有痰怎么办 1岁宝宝喉咙有痰怎么办 嗓子总感觉有痰怎么办 嗓子痒感觉有痰怎么办 1岁宝宝嗓子有痰怎么办 3岁宝宝嗓子有痰怎么办 喉咙总感觉有痰怎么办 感冒了喉咙有痰怎么办 咽喉有异物感是怎么办 老感觉喉咙有痰怎么办 感冒有痰怎么办最有效 感冒快好了有痰怎么办 喉咙里一直有痰怎么办 一到晚上就咳嗽怎么办 1岁宝宝咳嗽痰多怎么办 3岁宝宝咳嗽痰多怎么办 六岁儿童咳嗽有痰怎么办 很多白痰在喉咙怎么办 我喉咙总是有痰怎么办 喉咙老感觉有痰怎么办 喉咙痒老是有痰怎么办 抽烟多了嗓子疼怎么办 抽烟多了老咳嗽怎么办 抽烟抽多了咳嗽怎么办 嗓子咳出异物臭怎么办 鼻子有鼻涕喉咙有痰怎么办 怀孕39周感冒了怎么办 一口痰卡在喉咙怎么办 鼻塞黄鼻涕黄痰怎么办 小孩咳嗽流黄鼻涕怎么办 小孩鼻塞怎么办最简单方法 有黄鼻涕黄痰怎么办 咳嗽有泡沫白痰怎么办 痰多咳嗽老不好怎么办 5岁儿童咳嗽有痰怎么办 感冒后一直有痰怎么办 感冒吐绿色的痰怎么办 孕妇咳嗽有痰怎么办啊