IIS、apache、nginx日志中如何获取用户的真实IP?
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
需要安装插件F5XForwardedFor.dll: 1、下载与安装:http://aliyuntool.oss.aliyuncs.com/F5XForwardedFor2008.zip。 2、根据自己的版本将x86\Release 或者x64\Release目录下的F5XForwardedFor.dll拷贝到某个目录,假设为C:\ISAPIFilters,确保对IIS进程对该目录有读取权限。 3、打开IIS管理器,找到当前开启的网站,在该网站上右键选择“属性”,打开属性页。 4、属性页切换至“ISAPI筛选器”,点击“添加”按钮,出现添加窗口。 5、在添加窗口:“筛选器名称”填写“F5XForwardedFor”,“可执行文件”填写F5XForwardedFor.dll的完整路径。 6、点击确定,然后重启IIS服务器。 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服务器,等待配置生效。 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服务器,等待配置生效。 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服务。 解决方案如下: 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; 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服务。 该文章在 2014/9/16 10:30:49 编辑过 |
关键字查询
相关文章
正在查询... |