问题:通过IIS发布的网站放到F5设备后边,通过透明监听模式WAF设备过滤后,公网访问者的真实IP被WAF设备IP替代,在网站日志看不到原来的真实IP了。 处理方案1:利用第三方IIS插件调用X-Forwarded-For获得来访者的真实IP,解决IIS放在f5后记录不到用户ip的问题。 处理方案2:使用微软官方的高级日志模块功能调用X-Forwarded-For记录真实IP;
请注意,以上2种方案都需要WAF管理员在F5设备上进行X-Forwarded-For数据转发定义后使用! 方案1:并解压 F5XForwardedFor文件。 下载地址:https://www.jb51.net/softs/770998.html 根据自己的服务器操作系统版本将x86/Release或者 x64/Release目录下的 F5XFFHttpModule.dll 和 F5XFFHttpModule.ini拷贝到某个目录,比如 C:/F5XForwardedFor/。确保IIS进程对该目录有读取权限。 
打开IIS管理器,双击模块功能。 
单击配置本机模块,然后在弹出的对话框中,单击注册。 
添加下载的.dll文件(最好x64和x86都添加好) 


为添加的两个文件授权允许运行ISAPI和CGI扩展。 



返回主页后,重启IIS: 
去%SystemDrive%/inetpub/logs/LogFiles查询IIS日志,可以看到日志里边已经有相关原始IP信息了 
方案2:下载安装IIS高级日志功能https://www.microsoft.com/en-gb/download/details.aspx?id=7211 


重新进IIS主页,双击打开高级日志功能: 
激活高级日志功能: 
修改本机日志字段配置,增加字段: 
Field ID输入”ClientSourceIP”; Category选择”Default”; Source type选择”Request Header”; Source name输入”X-Forwarded-For”; 
添加日志定义: 
在”Base file name”字段中输入“Client Source IP”;然后点击”Select Fields”按钮,并选择”ClientSourceIP”;最后点击”应用”,回到主页; 


返回主页后,重启IIS: 
查询高级日志,可以拿到访客原始IP信息了: 

下载地址: Docke中安装redis的方法 使用Portainer部署Docker容器的项目实践 |