Intangible_moon
2018-06-19 07:44
采纳率: 100%
浏览 1.3k
已采纳

使用nginx和lua实现一个小功能

根据请求url的结尾数字分配不同的服务器进行处理。
如请求url为 XXX?k=123
3为奇数则发送至 odd.com
XXX?k=122
2为偶数则发送至 even.com
我该如何去做,求个思路 QAQ

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • 默默悟问 2018-06-19 13:07
    已采纳

    不需要使用lua就可以:

    upstream ref1 {
        server odd.com;
    }
    
    upstream ref2 {
        server even.com;
    } 
    

    server的location /里配置

            set $use_ref1 0;
    
            if ( $request_uri ~* .(1|3|5|7|9)$) {
                proxy_pass http://ref1;
                set $use_ref1 1;
            }
    
           if ($use_ref1 = 0) {
               proxy_pass http://ref2;
           }
    
    
    打赏 评论
  • wxb5945 2018-06-19 07:55

    可以使用openresty的access_by_lua的feature,调用ngx.exec(uri, args?)实现访问的重定向

    打赏 评论

相关推荐 更多相似问题