获取url参数:
在ngx_lua中访问Nginx内置变量ngx.var.arg_PARAMETER即可获得GET参数PARAMETER的内容。
在nginx配置中,通过$arg_PARAMETER即可获得GET参数PARAMETER的内容。
获取请求头:
在ngx_lua中访问Nginx内置变量ngx.var.http_HEADER即可获得请求头HEADER的内容。
在nginx配置中,通过$http_HEADER即可获得请求头HEADER的内容。
通过以下方式进行验证,比如说,通过http://www.test.com?name=hello&id=123来验证url的请求参数,能够在nginx中获取到,只需要修改nginx.conf配置文件如下,就可以在access.log中看到id和name在log中
http {
undefined
include mime.types;
default_type application/octet-stream;
log_format main ' {
"@timestamp": "$time_iso8601", '
'"servername": "$http_host", '
'"id": "$arg_id",'
'"name": "$arg_name",'
'"remote_addr": "$remote_addr",'
'"referer": "$http_referer",'
'"request": "$request",'
'"request_time": "$request_time",'
'"status": $status,'
'"bytes":$body_bytes_sent,'
'"agent": "$http_user_agent",'
'"x_forwarded": "$http_x_forwarded_for",'
'"upstr_addr": "$upstream_addr",'
'"upstr_host": "$upstream_http_host",'
'"ups_resp_time": "$upstream_response_time"
}
}
'
}
';
access_log logs/access.log main;
server_names_hash_bucket_size 128;
通过PostMan

http://www.test.com,在 header 中来设置id和name的参数及值,能够在nginx中请求头中获取到,只需要修改nginx.conf 配置文件如下,就可以在access.log中看到id和name在log中
http {
undefined
include mime.types;
default_type application/octet-stream;
log_format main ' {
"@timestamp": "$time_iso8601", '
'"servername": "$http_host", '
'"id": "$http_id",'
'"name": "$http_name",'
'"remote_addr": "$remote_addr",'
'"referer": "$http_referer",'
'"request": "$request",'
'"request_time": "$request_time",'
'"status": $status,'
'"bytes":$body_bytes_sent,'
'"agent": "$http_user_agent",'
'"x_forwarded": "$http_x_forwarded_for",'
'"upstr_addr": "$upstream_addr",'
'"upstr_host": "$upstream_http_host",'
'"ups_resp_time": "$upstream_response_time"
}'
}
';
access_log logs/access.log main;
server_names_hash_bucket_size 128;
原文链接:
https://blog.csdn.net/quliuwuyiz/article/details/87717586
文章评论