F5 Big-IP,X-Forwarded-For和IIS日志

我有一个由我们的托pipe服务提供商pipe理的F5 Big-IP。 它专用于我们的私人VLAN,等等。

我们要求他们添加一个X-Forwarded-For HTTP-Header字段。 他们已经这样做了,现在我们可以在代码中访问它。 真棒:)

但是..对于我们的IIS日志,它仍然是F5机器的IP。 我想我被告知我们需要将一个ISAPIfilter(cringe!)应用到IIS服务器上。

  1. 有人可以证实这一点?
  2. 如果#1 ==是的,有没有一个文件/说明如何做到这一点我们的Windows Server 2008上的IIS7networking服务器。

我发布了一个ISAPIfilter来处理我们的BIG-IP,并且对它进行了全面的x86和x64支持。 看看我前一段时间写的博文。 只需将随附的F5XForwardedFor.dll复制到您的服务器,并在您的虚拟站点的ISAPI部分引用它。

http://devcentral.f5.com/weblogs/joe/archive/2005/09/23/1492.aspx

这是IIS微软社区的这个线程中讨论的。 似乎有一个帮助 ,这样做的IIS(特别说明与微软ARR的工作,但它应该适用于任何反向代理或负载平衡器)。

虽然这个问题是用iis-7来标记的,但是在X-Forwarded-For上search时,这是最受欢迎的,所以我想我会继续为IIS 8.5提供这些信息。

IIS 8.5及更高版本 IIS 8.5引入了“ 增强日志logging”function,可轻松让pipe理员loggingHTTP请求标头,如X-Forwarded-For。 这个答案是从链接页面改编的。

  1. 打开IISpipe理器

  2. 在“ 连接”窗格中select站点或服务器,然后双击“ 日志logging” 。 请注意,增强日志logging仅适用于站点级日志logging – 如果您在“ 连接”窗格中select服务器,则“ W3C日志logging字段”对话框的“ 自定义字段”部分将被禁用。

  3. 在“ 日志文件”下的“ 格式”字段中,select“ W3C” ,然后单击“ select字段…”

  4. 在“ W3C日志logging字段”对话框中,单击“ 添加字段…” 。 请注意,增强日志logging仅适用于站点级日志logging – 如果您在“ 连接”窗格中select了服务器,则“ 添加字段…”将被禁用。

  5. 在“ 添加自定义字段”对话框中,input字段名称,例如c-ip-original以标识日志文件中的自定义字段。 请注意,字段名称不能包含空格。

  6. 在“ 源types”列表中select“ 请求标题 ”。

  7. Source中inputX-FORWARDED-FOR

  8. 点击OK

  9. 点击OK

  10. 在“ 操作”窗格中单击“ 应用 ”以应用新configuration。

一旦configuration了自定义字段,IIS将创build新的文本日志文件,在文件名后附加“_x”以指示该文件包含自定义字段。

请注意,从所有自定义字段收集的数据的总大小不能超过65,536字节。 如果总数超过65,536字节,则IIS将截断数据。