[frs-351] How to reveal the source IP address of your application when it’s running behind a load balancer


How to reveal the true IP address when it's hidden (no IP transparency)

You are using FusionReactor to monitor an application which is running behind a load balancer with no IP transparency. FusionReactor displays the source IP as 127.0.0.1

Solution

In this example we are assuming that the load balancer adds a header which contains the source IP. Apache httpd.conf is modified to log the source ip:

e.g.

LogFormat "%

Unknown macro: {x-cluster-client-ip}

i %l %u %t "%r" %>s %b "%

Unknown macro: {Referer}

i" "%

Unknown macro: {User-Agent}

i"" proxy
LogFormat "%h %l %u %t "%r" %>s %b "%

i" "%

Unknown macro: {User-Agent}

i"" combined

SetEnvIf x-cluster-client-ip "^......." forwarded
CustomLog "logs/access_log" combined env=!forwarded
CustomLog "logs/access_log" proxy env=forwarded

In this example, the headers would show "x-cluster-client-ip" as the header with the original IP. FusionReactor's Request Details "headers" tab for any request would show this also. To reveal the true IP, we need to tell FusionReactor to use that header to show the "real" IP address.

See the Requests>Settings>Proxy, which lets you tell FR that you need it to use some alternative header for the "real" ip address..

You will see that in the "proxy header" field there is a drop-down, but it doesn't show your specific header, rather a couple of the most common alternatives. Just paste the name of your header into that field and save the configuration changes.

Once you have saved this change, you should be able to check the Requests>History page to confirm that you now see the real IP's showing up.

Issue Details

Type: Technote
Issue Number: FRS-351
Components: FusionReactor Settings, Request Managment
Environment:
Resolution: Fixed
Last Updated: 06/Feb/15 2:18 PM
Affects Version: 5.0.0
Fixed Version: 5.0.0
Server:
Platform:
Related Issues: