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

来源:互联网 发布:阿里云股票数据接口 编辑:程序博客网 时间:2024/06/08 17:28

文章来源:

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 )) endtest()

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 )) )
原创粉丝点击