相关疑难解决方法(0)

记录来自$ request_body的POST数据

我有我的配置设置来处理一堆GET请求,这些请求可以渲染处理分析和解析查询字符串以进行日志记录的像素.使用额外的第三方数据流,我需要处理对给定URL的POST请求,该URL在其请求主体内部具有预期可记录格式的JSON.我不想使用辅助服务器,proxy_pass只想将整个响应记录到关联的日志文件中,就像它对GET请求所做的那样.我正在使用的一些代码片段如下所示:

GET请求(效果很好):

location ^~ /rl.gif {
  set $rl_lcid $arg_lcid;
  if ($http_cookie ~* "lcid=(.*\S)")
  {
    set $rl_lcid $cookie_lcid;
  }
  empty_gif;
  log_format my_tracking '{ "guid" : "$rl_lcid", "data" : "$arg__rlcdnsegs" }';
  access_log  /mnt/logs/nginx/my.access.log my_tracking;
  rewrite ^(.*)$ http://my/url?id=$cookie_lcid? redirect;
}
Run Code Online (Sandbox Code Playgroud)

这是我想要做的事情:POST请求(不起作用):

location /bk {
  log_format bk_tracking $request_body;
  access_log  /mnt/logs/nginx/bk.access.log bk_tracking;
}
Run Code Online (Sandbox Code Playgroud)

冰壶curl http://myurl/bk -d name=example给了我一个404页面找不到.

然后我尝试了:

location /bk.gif {
  empty_gif;
  log_format bk_tracking $request_body;
  access_log  /mnt/logs/nginx/bk.access.log bk_tracking;
}
Run Code Online (Sandbox Code Playgroud)

冰壶curl http://myurl/bk.gif -d name=example给了我一个405 Not Allowed.

我目前的版本是nginx/0.7.62 …

logging nginx http-post

59
推荐指数
6
解决办法
15万
查看次数

标签 统计

http-post ×1

logging ×1

nginx ×1