Task – Need to add unique ID to each user request. External nginx module such as request ID is very unstable, so I write small perl script to generate UUID and add it to header.
nginx embedded perl is extremely fast, and works very well in high loaded production systems.
Required packages:
aptitude install libossp-uuid-perl
/etc/nginx/nginx.conf
http {
...
perl_require "Data/UUID.pm";
perl_set $uuid 'sub {
$ug = new Data::UUID;
$str = $ug->create_str();
return $str;
}';
... }
...
perl_require "Data/UUID.pm";
perl_set $uuid 'sub {
$ug = new Data::UUID;
$str = $ug->create_str();
return $str;
}';
... }
Location config:
location ~ /data/(.+) {
...
...
proxy_set_header X-Request-Id $uuid;
...
}
...
...
proxy_set_header X-Request-Id $uuid;
...
}
Thanks, that’s useful.