Skip to content
This repository

HTTPS clone URL

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…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

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

OVERVIEW

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.

CREDITS

Brian Long (newobj@gmail.com, brian@dotspots.com, http://newobj.net)

USAGE

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;
    server_name  example.com;
    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.