在Nginx中利用lua脚本获取http请求路径信息,nginxlua


文章来源:

1 http://blog.csdn.net/xiejunna/article/details/71647281?utm_source=itdadao&utm_medium=referral

1 获取当前请求的url相关信息

function test()
-- 这个变量等于包含一些客户端请求参数的原始URI,它无法修改,请查看$uri更改或重写URI。
local request_uri = ngx.var.request_uri
 log(tools.gbk_to_u8("获取当前请求的url==") .. tools.u8_to_gbk(cjson.encode(request_uri)) )

 -- HTTP方法(如http,https)。按需使用,例:
 local scheme = ngx.var.scheme server_addr
 log(tools.gbk_to_u8("获取当前请求的url scheme==") .. tools.u8_to_gbk(cjson.encode(scheme)) )

 -- 服务器地址,在完成一次系统调用后可以确定这个值,如果要绕开系统调用,则必须在listen中指定地址并且使用bind参数。
 local server_addr = ngx.var.server_addruri 
 log(tools.gbk_to_u8("获取当前请求的url server_addr==") .. tools.u8_to_gbk(cjson.encode(server_addr)) )

-- 请求中的当前URI(不带请求参数,参数位于$args),可以不同于浏览器传递的$request_uri的值,它可以通过内部重定向,或者使用index指令进行修改。
 local uri = ngx.var.uri 
 log(tools.gbk_to_u8("获取当前请求的url uri==") .. tools.u8_to_gbk(cjson.encode(uri)) )

 -- 服务器名称
 local server_name  = ngx.var.server_name  
 log(tools.gbk_to_u8("获取当前请求的url server_name ==") .. tools.u8_to_gbk(cjson.encode(server_name )) 

 -- 请求到达服务器的端口号。
local server_port  = ngx.var.server_name  
 log(tools.gbk_to_u8("获取当前请求的url server_port ==") .. tools.u8_to_gbk(cjson.encode(server_port )) 
end
test()

2.获取发送请求端过来的url相关信息

-- 获取远程的IP地址。
local remote_addr  = ngx.var.remote_addr 
 log(m_uuid,tools.gbk_to_u8("获取发送请求过来的远程请求remote_addr ==") .. tools.u8_to_gbk(cjson.encode(remote_addr )) )

 -- 获取远程的端口号
 local remote_port  = ngx.var.remote_port  
 log(m_uuid,tools.gbk_to_u8("获取发送请求过来的远程请求remote_port ==") .. tools.u8_to_gbk(cjson.encode(remote_port )) )

相关内容

    暂无相关文章