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
来源:https://blog.csdn.net/su371128017/article/details/100123610