lua学习post请求转发

lua学习根据get/post请求转发

首先需要安装openresty,集成了nginx和lua。lua可以用从文件中运行,可以通过代码块允许,本次使用从文件中运行。


#手机POS交易
upstream  mobileAndPos{
        server 127.0.0.1:8081 ;
}

location /openresty/file {
    set $backend '';
    rewrite_by_lua_file /usr/local/openresty/nginx/conf/post_by_lua.lua;
    proxy_pass http://$backend;
}

[root@localhost conf]# cat post_by_lua.lua 
local request_method = ngx.var.request_method
local args = nil
if "GET" == request_method then
    args = ngx.req.get_uri_args()
elseif "POST" == request_method then
    ngx.req.read_body()
    args = ngx.req.get_post_args()
end
local service = args["service"];
if service == nil or service == "" then
    res = 'mobileAndPos'   --correct   lua文件无法直接使用nginx upsteam变量,需要定义为字符串形式
    --return ngx.redirect("https://127.0.0.1:9809/test/news/spread.html?id=34");
elseif service == "easypay.merchant.refund" then
    res = mobileAndPos --error
else
    res = mobileAndPos  --error
end 
ngx.var.backend = res

你可能感兴趣的:(JAVA,lua,openresty)