从nginx上的访问日志中隐藏获取参数

前端之家收集整理的这篇文章主要介绍了从nginx上的访问日志中隐藏获取参数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我想启用访问日志以查看有关我们服务的统计信息,我遇到的问题是访问日志格式的$request,保存所有GET参数(这是有意义的,因为它是请求的一部分)

但我想隐藏这些信息,所以不要在日志上看到这个:

98.207.174.147 - - [26/Apr/2014:23:59:09 +0000] "GET /v1/api.json?parameter1=value1&paramter2=value2" HTTP/1.1" 200 13449 "-" "httperf/0.9.0"

我想看看

98.207.174.147 - - [26/Apr/2014:23:59:09 +0000] "GET /v1/api.json" HTTP/1.1" 200 13449 "-" "httperf/0.9.0"
最佳答案
您可以使用ngx_http_log_module的log_format指令.

例如,此格式只显示没有任何查询字符串的uri:

http {
       log_format combined_no_query '$remote_addr - $remote_user [$time_local] '
           '"$uri" $status $body_bytes_sent '
           '"$http_referer" "$http_user_agent"';
       //other configs ...
     }

 server {
       access_log /var/log/@R_301_196@/access.log combined_no_query
       //... 
      }

注意$uri变量,它仅用于记录没有任何查询字符串的uri.

doc for log_format指令:http://nginx.org/en/docs/http/ngx_http_log_module.html

更多变量:http://nginx.org/en/docs/http/ngx_http_core_module.html#var_uri

原文链接:https://www.f2er.com/nginx/435296.html

猜你在找的Nginx相关文章