西数超哥博客
运维经验教程分享

iis 6、7、8或更高版本,解决 nginx、f5 负载均衡后 wwwlogs 日志中不能记录 X-Forwarded-For 真实ip 问题

解决方案-如何修改日志记录行为

所需的步骤取决于您的IIS版本。

IIS 8.5及更高版本

可以添加自定义日志记录字段以记录XFF标头。

要启用此功能:

  1. 启动IIS管理器,然后在左侧的“连接”窗格上,单击要启用XFF日志记录的相应网站。然后,主页显示在主面板中。
  2. 在主页上,双击Logging
    1注解-1
  3. 在“日志文件”部分中,单击“ 选择字段”
    2注解1
  4. 在左下角,点击 添加字段
    3注解1
  5. 在“添加自定义字段”窗口中,完成以下操作:
    4-1
  • 在“字段名称”中,键入X-Forwarded-For
  • 在“源”中,键入X-Forwarded-For
  • 将“源类型”设置为“请求标头”
  • 单击添加自定义字段窗口上的确定
  • 在“ W3C日志记录字段”窗口上单击“确定
  1. 在右侧的“操作”窗格中,单击“应用”以实施更改。
    5注解1
  2. 默认情况下,日志文件位于目录%SystemDrive% inetpub logs LogFiles中。IIS创建新的日志文件,并在日志文件名后附加“ _x”以表示它们包含自定义字段。

UIIS 7和IIS 7.5

对于IIS 7和7.5 ,必须安装“高级日志记录”加载项。可以在这里下载。一旦安装在IIS服务器上,您将在IIS中看到一个名为“高级日志记录”的附加选项。

要配置和启用高级日志记录:

  1. 启动IIS管理器,然后在左侧的“连接”窗格上,单击要在其中配置“高级日志记录”的服务器,网站或目录。相关的主页显示在主面板中。
  2. 在主页上的IIS下,双击“高级日志记录”
    iis1-复制
  3. 在右侧的“操作”窗格中,单击“启用高级日志记录”
    iis2-Copy
  4. 在右侧的“操作”窗格中,单击“编辑日志字段”
    iis3-Copy
  5. 在“编辑日志字段”窗口上,单击“添加字段”,然后完成以下操作:
    iis4a-复制
  • 在“字段ID”中,键入ClientSourceIP
  • 类别中,输入*默认*
  • 在“源类型”中,选择“请求标头”
  • 在“源名称”中,键入X-Forwarded-For
  • 在“添加日志字段”窗体上单击“确定
  • 单击“编辑日志字段”表单上的“确定
  1. 在右侧的“操作”窗格中,单击“添加日志定义”。
    iis5-复制
  2. 基本文件名字段中输入客户端源IP
    iis6a-复制
  3. 单击选择字段。
    iis7-副本
  • 检查(启用)先前创建的ClientSourceIP字段
  1. 在“选择日志字段”窗体上单击“确定”,然后在操作窗格中单击“应用”。
  2. 在操作窗格中单击“返回到高级日志记录”。
  3. 运行iisreset / restart以应用新设置。
  4. 必须查看高级日志,而不是默认日志。高级日志位于%SystemDrive%inetpublogsAdvancedLogs中。要查看日志,请右键单击“客户端源IP”日志定义,然后单击“查看日志文件”
    iis8-副本

IIS 6

不幸的是,上面提到的Microsoft解决方案不适用于IIS6。幸运的是,还有许多其他解决方案-一些需要花钱,而另一些已经作为开源发布。我们用我们的产品测试过的一个很好的例子是F5的X-Forwarded-For ISAPI过滤器。它提供32位和64位版本。

  1. 此处下载压缩的存档,然后解压缩到适当的文件夹。
  2. 导航到相关版本(32位或64位)。
  3. 将F5XForwardedFor.dll复制到服务器上的适当位置,例如C:ISAPIfilters。
  4. 确保在IIS服务器上启用了ISAPI筛选器。
  5. 打开IIS管理器,右键单击该站点,然后选择“属性”。
  6. 选择“ ISAPI筛选器”选项卡。
  7. 单击添加,然后在弹出窗口中输入合适的名称,然后选择在步骤3中存储的DLL文件。
  8. 重新启动您的网站。

已解决问题-对于IIS 7及更高版本,您应该看到一个名为X-Forwarded-For的附加列,其中包含客户端PC的IP地址。对于IIS 6,应将负载平衡器的IP地址替换为客户端PC的IP地址。

赞(0)
声明:本站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,若涉及侵权请及时告知,将会在第一时间删除。本站原创内容未经允许不得转载:西数超哥博客 » iis 6、7、8或更高版本,解决 nginx、f5 负载均衡后 wwwlogs 日志中不能记录 X-Forwarded-For 真实ip 问题