Let iis record the true ip of the nginx reverse agent

  • 2020-05-09 19:39:38
  • OfStack

1. Set the X-Forwarded-For segment

Example nginx configuration:

server
{
   location
   { 
     ...
     proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
     ...
    } 
 } 

2. Install isapi filter at the iis site

It was found in the development forum of f5. According to the developers, it was to solve the problem that iis could not record the user ip after it was placed in f5. Whether it was f5, nginx, squid or haproxy, it could be used.
Restart iis after loading.

https://devcentral.f5.com/weblogs/Joe/archive/2009/08/19/x_forwarded_for_log_filter_for_windows_servers.aspx

The installation method, copied from the official documentation, you have a look.
Installation

Follow these steps to install the filter.

Download and unzip the F5XForwardedFor.zip distribution.
Copy the F5XForwardedFor.dll file from the x86\Release or x64\Release directory (depending on your platform) into a target directory on your system. Let's say C:\ISAPIFilters.
Ensure that the containing directory and the F5XForwardedFor.dll file have read permissions by the IIS process. It's easiest to just give full read access to everyone.
Open the IIS Admin utility and navigate to the web server you would like to apply it to.
For IIS6, Right click on your web server and select Properties. Then select the "ISAPI Filters" tab. From there click the "Add" button and enter "F5XForwardedFor" for the Name and the path to the file "c:\ISAPIFilters\F5XForwardedFor.dll" to the Executable field and click OK enough times to exit the property dialogs. At this point the filter should be working for you. You can go back into the property dialog to determine whether the filter is active or an error occurred.
For II7, you'll want to select your website and then double click on the "ISAPI Filters" icon that shows up in the Features View. In the Actions Pane on the right select the "Add" link and enter "F5XForwardedFor" for the name and "C:\ISAPIFilters\F5XForwardedFor.dll" for the Executable. Click OK and you are set to go.
I'd love to hear feedback on this and if there are any other feature request, I'm wide open to suggestions. The source code is included in the download distribution so if you make any changes yourself, let me know!

Good luck and happy filtering!


Related articles: