Skip to content
This repository


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Nginx module that adds a 'request id' header that can be used to correlate frontend and backend requests.

branch: master

Fetching latest commit…


Cannot retrieve the latest commit at this time

Octocat-spinner-32 LICENSE
Octocat-spinner-32 config
Octocat-spinner-32 ngx_x_rid_header_module.c


nginx-x-rid-header is a small module which adds a request-scoped id (uuid) variable that can be used to correlate frontend logging/activity with backend logging/activity.

Currently only supports NGX_LINUX and NGX_DARWIN.


Brian Long (,,


1) Add --add-module=../git/nginx-x-rid-header to your nginx configure command. On Linux, you should also add --with-ld-opt=-lossp-uuid or whatever flavor of uuid-devel comes with your distribution. Now make and make install.

2) You now have access to a $request_id variable. Suggested use:

log_format main  '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" "$http_x_forwarded_for" - $connection $request_time $upstream_cache_status $request_id';
server {
    listen       80;
    location / {
        proxy_set_header x-exampledotcom-rid $request_id;
        proxy_pass   http://localhost:8080;

3) On your backend (8080), you can pull the request header x-exampledotcom-rid, and log it or tie it to whatever you may like. This makes it really easy to correlate backend exceptions or instrumentation with frontend http request logs.

Something went wrong with that request. Please try again.