zoukankan      html  css  js  c++  java
  • nginx + lua 根据post请求参数做转发

            location / {
                 content_by_lua_file "lua/dispatch.lua";
             }


            location @user_profile_api12 {

             content_by_lua_block {
                     ngx.say("xxxx")
             }
             }


            location @user_profile_api3 {

             content_by_lua_block {
                     ngx.say("hahahah")
             }
            }



    lua/dispatch.lua

    -------------------------------

    local request_method = ngx.var.request_method
    local arg=nil
    if request_method == "GET" then
             arg = ngx.req.get_uri_args()['params']
    elseif request_method == "POST" then
             ngx.req.read_body()
             arg = ngx.req.get_post_args()['params']
    end

    if arg ~= nil then
       local json = require("cjson")
       local jsonObj = json.decode(arg)
       local profile = jsonObj['query']['user_profile']
       local years = jsonObj['query']['year_id']

      if years ~= nil and profile ~= nil and profile[1] == 'bought_record' then
             ngx.exec('@user_profile_api3') 
       elseif profile ~= nil and profile[1] == 'xubao' then
             ngx.exec('@user_profile_api3')
       else 
             ngx.exec('@user_profile_api12')
       end
    end

  • 相关阅读:
    Java
    一个web项目web.xml的配置中<context-param>配置作用
    JVM之几种垃圾收集器简单介绍
    JVM日志和参数的理解
    Java GC日志查看
    Java-性能调优-理解GC日志
    理解Java的GC日志
    tomcat打印GC日志
    快速解读GC日志
    Java 堆内存
  • 原文地址:https://www.cnblogs.com/maoxiangyi/p/11611383.html
Copyright © 2011-2022 走看看