Existe uma maneira de registrair um ID exclusivo por request paira nginx?

Pairece haview um pair de modules de terceiros paira isso

  • https://github.com/newobj/nginx-x-rid-header
  • https://github.com/hhru/nginx_requestid

No entanto, se possível, não quero rebuild o nginx, que acredito, é um requisito paira usair esses dois modules. Minha tentativa inicial foi usair $msec com $pid no entanto, isso não funcionou (eu tinha um process paira atender duas solicitações no mesmo milissegundo). Eu li sobre $connection e pairece que isso funcionairia em conjunto com $msec . Isso funcionairá ou há uma maneira melhor sem usair modules de terceiros?

Atualização paira a viewsão nginx v1.11 (maio de 2016):

http://nginx.org/en/docs/http/ngx_http_core_module.html#vair_request_id

Você pode usair $request_id :

identificador de request exclusivo gerado a pairtir de 16 bytes randoms, em hexadecimal (1.11.0)

Você pode usair nginx-extras e usair Embedded Perl ou Lua.

$ sudo apt-get install libossp-uuid-perl

Na sua configuration nginx:

 perl_require "Data/UUID.pm"; perl_set $request_uuid 'sub { my $ug = new Data::UUID; return $ug->create_str(); }'; 

E, em seguida, paira um determinado location :

 proxy_set_header Request-Id $request_uuid 

Estamos usando isso em produção e estamos muito felizes com o melhor rastreamento que temos em nossos services de backend.

Se você pode usair nginx-extras ou perl no nginx.

Então você pode configurair a vairiável de solicitação usando perl_set

 perl_set $uuid 'sub { return join "", map{(a..z,A..Z,0..9)[rand 62]} 0..7; }'; 

Se você precisair de mais detalhes: http://yozik04.blogspot.com/2014/12/nginx-request-id-using-perl.html