IIS日志 F5XForwardedFor.dll IIS日志中获取访客真实IP的解决方案插件

当HTTP请求中包含 X-Forwarded-For 的header, 这个值会被策略替换为一个单独的客户端IP地址。如果知识兔没有 X-Forwarded header, 将添加这个header并且知识兔加入客户端IP地址值。

F5 iRules:

when HTTP_REQUEST {
 if {[HTTP::header exists X-Forwarded-For]}{
 HTTP::header replace X-Forwarded-For “[HTTP::header X-Forwarded-For], [IP::
client_addr]”
 } else {
 HTTP::header insert X-Forwarded-For [IP::client_addr]
 }
}

NetScaler :
add rewrite action xforward replace HTTP.REQ.HEADER(“X-Forwarded-For”) CLIENT.IP.SRC
add rewrite policy xforward_check_pol “HTTP.REQ.HEADER(\”X-FORWARDEDFOR\”).EXISTS”

add rewrite action xforward_add insert_http_header X-FORWARDED-FOR CLIENT.IP.SRC
add rewrite policy xforward_add_pol “HTTP.REQ.HEADER(\”X-FORWARDEDFOR\”).EXISTS.NOT”
xforward_add

全局或者在 vServer 级别绑定

F5负载均衡获取客户端真实IP

1.在F5上配置X-Forwarded-For

2.获取ip时使用如下代码:

String ip = getRequest().getHeader(“X-Forwarded-For”);
if (ip == null || ip.length() == 0 ) {
ip = getRequest().getRemoteAddr();
}

使用方法

下载并解压 F5XForwardedFor文件。

根据自己的服务器操作系统版本将x86\Release或者 x64\Release目录下的 F5XFFHttpModule.dll 和 F5XFFHttpModule.ini拷贝到某个目录,比如 C:\F5XForwardedFor\。确保IIS进程对该目录有读取权限。

IIS日志 F5XForwardedFor.dll IIS日志中获取访客真实IP的解决方案插件

打开IIS管理器,知识兔双击模块功能。

IIS日志 F5XForwardedFor.dll IIS日志中获取访客真实IP的解决方案插件

单击配置本机模块,然后知识兔在弹出的对话框中,单击注册。

IIS日志 F5XForwardedFor.dll IIS日志中获取访客真实IP的解决方案插件

添加下载的.dll文件(最好x64和x86都添加好)

IIS日志 F5XForwardedFor.dll IIS日志中获取访客真实IP的解决方案插件

IIS日志 F5XForwardedFor.dll IIS日志中获取访客真实IP的解决方案插件

IIS日志 F5XForwardedFor.dll IIS日志中获取访客真实IP的解决方案插件

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

IIS日志 F5XForwardedFor.dll IIS日志中获取访客真实IP的解决方案插件

IIS日志 F5XForwardedFor.dll IIS日志中获取访客真实IP的解决方案插件

IIS日志 F5XForwardedFor.dll IIS日志中获取访客真实IP的解决方案插件

IIS日志 F5XForwardedFor.dll IIS日志中获取访客真实IP的解决方案插件

返回主页后,重启IIS:

IIS日志 F5XForwardedFor.dll IIS日志中获取访客真实IP的解决方案插件

去%SystemDrive%\inetpub\logs\LogFiles查询IIS日志,知识兔可以看到日志里边已经有相关原始IP信息了

IIS日志 F5XForwardedFor.dll IIS日志中获取访客真实IP的解决方案插件

下载仅供下载体验和测试学习,不得商用和正当使用。

下载体验

请输入密码查看下载!

如何免费获取密码?

点击下载

评论