nginx 用lua中获取url路径相关信息,nginxlua


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()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

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 )) )
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

相关内容

    暂无相关文章