成功最有效的方法就是向有经验的人学习!

IIS、apache、nginx日志中获取用户的真实IP

IIS6配置方案

需要安装插件F5XForwardedFor.dll:

1、下载与安装:
链接: https://pan.baidu.com/s/18J_VCXA1zacTeyahI9xEhw 提取码: bccv 复制这段内容后打开百度网盘手机App,操作更方便哦

2、根据自己的版本将x86\Release 或者x64\Release目录下的F5XForwardedFor.dll拷贝到某个目录,假设为C:\ISAPIFilters,确保对IIS进程对该目录有读取权限。

3、打开IIS管理器,找到当前开启的网站,在该网站上右键选择“属性”,打开属性页。

4、属性页切换至“ISAPI筛选器”,点击“添加”按钮,出现添加窗口。

5、在添加窗口:“筛选器名称”填写“F5XForwardedFor”,“可执行文件”填写F5XForwardedFor.dll的完整路径。

6、点击确定,然后重启IIS服务器。

IIS7配置方案

IIS7中可以用ISAPI筛选器和IIS模块功能获取访客真实IP。

使用ISAPI筛选器获取访客真实IP

方案一、需要安装插件F5XForwardedFor.dll:

1、下载与安装:
链接: https://pan.baidu.com/s/18J_VCXA1zacTeyahI9xEhw 提取码: bccv 复制这段内容后打开百度网盘手机App,操作更方便哦

2、根据自己的版本将x86\Release 或者x64\Release目录下的F5XForwardedFor.dll拷贝到某个目录,假设为C:\F5XForwardedFor\,确保对IIS进程对该目录有读取权限。

3、确认您的服务器是否安装以下两个模块:(“ISAPI筛选器” 及 “ISAPI和CGI限制” ):如果未安装,请按以下步骤进行安装:

如果未安装,请按以下步骤进行安装:

1、右键点击 ”计算机”,选择 ”管理:

2、选择”角色”选项,点击添加角色服务:

3、选择“ISAPI 扩展 和ISAPI筛选器”,点击下一步,进行安装。

4、添加“ISAPI筛选器”,双击“ISAPI筛选器”,点击添加:

5、填写筛选器的名称(没无特殊要求),选报DLL文件路径,点击确定。

6、双击“ISAPI 和CGI限制”,点击添加,添加内容如下:


7、修改添加的DLL,从“不允许”修改为“允许”。


8、重启IIS服务器,等待配置生效。

使用IIS模块功能获取访客真实IP

1、下载:
链接: https://pan.baidu.com/s/1oAzqrGsQ0lKdbuqXo8kcpQ 提取码: fknv 复制这段内容后打开百度网盘手机App,操作更方便哦

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

3、选择”IIS服务器”选项,按图所示选择”模块”功能。

4、双击“模块”功能,点击“配置本机模块”。

5、在弹出框中点击“注册”按钮。

6、添加下载的DLL文件,如下图:

7、添加完成后,勾选并点击“确定”。

8、把这两个DLL在 “API 和CGI限制”进行添加,并改为允许。


9、重启IIS服务器,等待配置生效。

apache配置方案

Windows 2003 Server + Apache 解决方案

1、打开文件:\apache\conf\httpd.conf
2、在文件中查找:”CustomLog”,找到如下配置块: 查看到当前使用的LogFormat为”combined”(如果实际启用的为其他日志格式,替换相应的格式定义即可)。

3、在文件中查找:”LogFormat”,找到如下配置块(combined格式定义):

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

将其修改为:

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"  \"%{X-Forwarded-For}i\"" combined

4、保存并关闭文件\apache\conf\httpd.conf

5、重启Apache服务。

Linux + Apache 解决方案

1、打开文件:/etc/httpd/conf/httd.conf

2、在文件中查找:”CustomLog”,找到如下配置块: 查看到当前使用的LogFormat为”combined” (如果实际启用的为其他日志格式,替换相应的格式定义即可)。

#
# For a single logfile with access, agent, and referer information
# (Combined Logfile Format), use the following directive:
#
CustomLog  logs/access_log combined

3、在文件中查找:”LogFormat”,找到如下配置块(combined格式定义):

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

将其修改为:

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" \"%{X-Forwarded-For}i\" " combined

4、保存并关闭文件/etc/httpd/conf/httd.conf

5、重启Apache服务。

NGINX配置方案

解决方案如下:

1、打开文件:/etc/nginx/nginx.conf

2、在文件中查找:”CustomLog”,找到如下配置块:

server {
        listen   80; ## listen for ipv4
        listen   [::]:80 default ipv6only=on; ## listen for ipv6
        server_name  localhost;
        access_log  /var/log/nginx/localhost.access.log main;

3、将access_log这一行替换为如下内容:

log_format main '$remote_addr - $remote_user [$time_local] '
                '"$request" $status $body_bytes_sent "$http_referer" '
               '"$http_user_agent" "$http_x_forwarded_for"' ;
  access_log /var/log/nginx/localhost.access.log  main;

4、保存并关闭文件/etc/nginx/nginx.conf

5、重启Nginx服务。

tomcat配置方案

1、修改tomcat的server.xml,如:vi /usr/local/tomcat7/conf/server.xml

2、修改patternpattern='%{X-Forwarded-For}i %h %l %u %t "%r" %s %b',则会记录headers头中的X-Forwarded-For信息。

3、然后重启tomcat即可。
测试结果如下:

本次测试中100.97是修改前的slb内网地址,182.92是修改后的获取的真实地址。

赞(1) 打赏
未经允许不得转载:陈桂林博客 » IIS、apache、nginx日志中获取用户的真实IP
分享到

大佬们的评论 抢沙发

全新“一站式”建站,高质量、高售后的一条龙服务

微信 抖音 支付宝 百度 头条 快手全平台打通信息流

橙子建站.极速智能建站8折购买虚拟主机

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏

登录

找回密码

注册