我有一个由我们的托pipe服务提供商pipe理的F5 Big-IP。 它专用于我们的私人VLAN,等等。
我们要求他们添加一个X-Forwarded-For HTTP-Header字段。 他们已经这样做了,现在我们可以在代码中访问它。 真棒:)
但是..对于我们的IIS日志,它仍然是F5机器的IP。 我想我被告知我们需要将一个ISAPIfilter(cringe!)应用到IIS服务器上。
我发布了一个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。 这个答案是从链接页面改编的。
打开IISpipe理器 。
在“ 连接”窗格中select站点或服务器,然后双击“ 日志logging” 。 请注意,增强日志logging仅适用于站点级日志logging – 如果您在“ 连接”窗格中select服务器,则“ W3C日志logging字段”对话框的“ 自定义字段”部分将被禁用。
在“ 日志文件”下的“ 格式”字段中,select“ W3C” ,然后单击“ select字段…” 。
在“ W3C日志logging字段”对话框中,单击“ 添加字段…” 。 请注意,增强日志logging仅适用于站点级日志logging – 如果您在“ 连接”窗格中select了服务器,则“ 添加字段…”将被禁用。
在“ 添加自定义字段”对话框中,input字段名称,例如c-ip-original以标识日志文件中的自定义字段。 请注意,字段名称不能包含空格。
在“ 源types”列表中select“ 请求标题 ”。
在Source中inputX-FORWARDED-FOR 。
点击OK 。
点击OK 。
在“ 操作”窗格中单击“ 应用 ”以应用新configuration。
一旦configuration了自定义字段,IIS将创build新的文本日志文件,在文件名后附加“_x”以指示该文件包含自定义字段。
请注意,从所有自定义字段收集的数据的总大小不能超过65,536字节。 如果总数超过65,536字节,则IIS将截断数据。