Registrando o corpo da resposta com o Nginx Lua

2

Eu tenho um proxy reverso que quero registrar o corpo da solicitação com o qual atualmente parece mentira

log_format my_tracking '"$ request" "$ http_soapaction" "$ http_content_type" "$ request_body"';

que está registrando tudo maravilhosamente, agora eu quero registrar o corpo de resposta desses pedidos, o que se torna muito mais difícil. Eu tenho tentado usar o módulo Lua (que eu compilei no Nginx 1.3.14), mas eu não consigo encontrar nenhum exemplo de como fazer isso, eu estou definitivamente esticando minha habilidade técnica, então qualquer ajuda seria muito recebida. .

Obrigado Vai Editar relatório de cotação de resposta

    
por Will Pink 26.03.2013 / 19:01

1 resposta

1

De fato, configurar a variável no body_filter e, em seguida, passá-la para o arquivo de log não funciona. Eu verifiquei esta configuração e funcionou mas, infelizmente, o nginx registra os dados em error.log:

 error_log  logs/error.log  info;

 location / {
      set $myresponse;  #we must declare it first, we cannot create vars in lua
      proxy_pass http://mybackendserver;
      body_filter_by_lua 'ngx.var.myresponse = ngx.arg[1]
      ngx.log(ngx.INFO,ngx.var.myresponse)
      ';

    }
}

ps. Gostaria de saber também como logar para acessar os logs do módulo lua.

    
por 07.05.2013 / 18:44

Tags