Dump the HTTP headers, the body data, and the IP address

Sometimes is useful to examine headers sent by browser. Maybe the client is behind a custom proxy server and we want to analyse the Via header.

Sometimes is also useful to discover our public IP address.

So we made available heade.rs (in both HTTP and HTTPS). It's a straightforward service, built with OpenResty plus few lines in LUA. Feel free to use it.

Here is an iframe with the dump of your browser headers and IP address:

This is the NGINX heade.rs configuration file:

server {  
    listen 80 default_server;
    listen 443 ssl;

    server_name www.heade.rs heade.rs;
    root /var/www/heade.rs/public_html;
    access_log /var/log/nginx/heade.rs.access.log;
    error_log /var/log/nginx/heade.rs.error.log error;

    ssl_certificate /etc/letsencrypt/live/heade.rs/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/heade.rs/privkey.pem;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';

    location ~ /.well-known {
        allow all;
    }

    location / {
        default_type 'text/plain';
        content_by_la '
            ngx.print("Remote address: ", ngx.var.remote_addr)
            ngx.print("\\n\\n")
            ngx.print(ngx.req.raw_header())
            ngx.req.read_body()  -- explicitly read the req body
            local data = ngx.req.get_body_data()
            if data then
                ngx.print(data)
            end
        ';
    }
}