解决方案-如何修改日志记录行为
所需的步骤取决于您的IIS版本。
IIS 8.5及更高版本
可以添加自定义日志记录字段以记录XFF标头。
要启用此功能:
- 启动IIS管理器,然后在左侧的“连接”窗格上,单击要启用XFF日志记录的相应网站。然后,主页显示在主面板中。
- 在主页上,双击Logging。
- 在“日志文件”部分中,单击“ 选择字段”。
- 在左下角,点击 添加字段。
- 在“添加自定义字段”窗口中,完成以下操作:
- 在“字段名称”中,键入X-Forwarded-For
- 在“源”中,键入X-Forwarded-For
- 将“源类型”设置为“请求标头”
- 单击添加自定义字段窗口上的确定
- 在“ W3C日志记录字段”窗口上单击“确定”
- 在右侧的“操作”窗格中,单击“应用”以实施更改。
- 默认情况下,日志文件位于目录%SystemDrive% inetpub logs LogFiles中。IIS创建新的日志文件,并在日志文件名后附加“ _x”以表示它们包含自定义字段。
UIIS 7和IIS 7.5
对于IIS 7和7.5 ,必须安装“高级日志记录”加载项。可以在这里下载。一旦安装在IIS服务器上,您将在IIS中看到一个名为“高级日志记录”的附加选项。
要配置和启用高级日志记录:
- 启动IIS管理器,然后在左侧的“连接”窗格上,单击要在其中配置“高级日志记录”的服务器,网站或目录。相关的主页显示在主面板中。
- 在主页上的IIS下,双击“高级日志记录”。
- 在右侧的“操作”窗格中,单击“启用高级日志记录”。
- 在右侧的“操作”窗格中,单击“编辑日志字段”。
- 在“编辑日志字段”窗口上,单击“添加字段”,然后完成以下操作:
- 在“字段ID”中,键入ClientSourceIP
- 在类别中,输入*默认*
- 在“源类型”中,选择“请求标头”
- 在“源名称”中,键入X-Forwarded-For
- 在“添加日志字段”窗体上单击“确定”
- 单击“编辑日志字段”表单上的“确定”
- 在右侧的“操作”窗格中,单击“添加日志定义”。
- 在基本文件名字段中输入客户端源IP。
- 单击选择字段。
- 检查(启用)先前创建的ClientSourceIP字段
- 在“选择日志字段”窗体上单击“确定”,然后在操作窗格中单击“应用”。
- 在操作窗格中单击“返回到高级日志记录”。
- 运行iisreset / restart以应用新设置。
- 必须查看高级日志,而不是默认日志。高级日志位于%SystemDrive%inetpublogsAdvancedLogs中。要查看日志,请右键单击“客户端源IP”日志定义,然后单击“查看日志文件”。
IIS 6
不幸的是,上面提到的Microsoft解决方案不适用于IIS6。幸运的是,还有许多其他解决方案-一些需要花钱,而另一些已经作为开源发布。我们用我们的产品测试过的一个很好的例子是F5的X-Forwarded-For ISAPI过滤器。它提供32位和64位版本。
- 从此处下载压缩的存档,然后解压缩到适当的文件夹。
- 导航到相关版本(32位或64位)。
- 将F5XForwardedFor.dll复制到服务器上的适当位置,例如C:ISAPIfilters。
- 确保在IIS服务器上启用了ISAPI筛选器。
- 打开IIS管理器,右键单击该站点,然后选择“属性”。
- 选择“ ISAPI筛选器”选项卡。
- 单击添加,然后在弹出窗口中输入合适的名称,然后选择在步骤3中存储的DLL文件。
- 重新启动您的网站。
已解决问题-对于IIS 7及更高版本,您应该看到一个名为X-Forwarded-For的附加列,其中包含客户端PC的IP地址。对于IIS 6,应将负载平衡器的IP地址替换为客户端PC的IP地址。
亲爱的:若该文章解决了您的问题,可否收藏+评论+分享呢?
文章评论 本文章有个评论