我有一个由我们的托管提供商管理的 F5 Big-IP。它专用于我们的私有 VLAN 等。效果很好 :)
我们要求他们添加 X-Forwarded-For HTTP-Header 字段。他们已经完成了,我们现在可以在代码中访问它。太棒了 :)
但是……对于我们的 IIS 日志,它仍然是 F5 机器的 IP。我想有人告诉我,我们需要将 ISAPI 过滤器(令人不寒而栗!)应用于 IIS 服务器。
- 有人可以证实这一点吗?
- 如果 #1 == 是,那么是否有文件/说明如何针对 Windows 2008 计算机上的 IIS7 Web 服务器执行此操作。
答案1
我发布了一个 ISAPI 过滤器,用于我们的 BIG-IP,并且刚刚更新了它,使其完全支持 x86 和 x64。查看我之前写的博客文章。只需将随附的 F5XForwardedFor.dll 复制到您的服务器,并在虚拟站点的 ISAPI 部分中引用它即可。
http://devcentral.f5.com/weblogs/joe/archive/2005/09/23/1492.aspx
答案2
答案3
虽然该问题带有 iis-7 标签,但这是在 X-Forwarded-For 上搜索时最热门的话题,因此我想我会继续为 IIS 8.5 提供此信息。
IIS 8.5 及更高版本 IIS 8.5 引入了增强日志记录此功能可让管理员轻松记录 HTTP 请求标头(例如 X-Forwarded-For)。此答案改编自链接页面。
打开IIS 管理器。
在連接窗格,然后双击日志记录。请注意,增强日志记录仅适用于站点级日志记录 - 如果您在連接窗格,然后自定义字段部分W3C 日志字段对话框已被禁用。
在里面格式下的田野日志档案, 选择W3C然后点击选择字段...。
在里面W3C 日志字段对话框中,点击添加字段...。请注意,增强日志记录仅适用于站点级日志记录 - 如果您在連接窗格,然后添加字段...被禁用。
在里面添加自定义字段对话框中,输入字段名称例如
c-ip-original
在日志文件中识别自定义字段。请注意,字段名称不能包含空格。选择请求标头在里面源类型列表。
输入
X-FORWARDED-FOR
来源。点击好的。
点击好的。
点击申请在里面操作窗格应用新配置。
配置自定义字段后,IIS 将创建新的文本日志文件,并在文件名后附加“_x”,以表明该文件包含自定义字段。
请注意,从所有自定义字段收集的数据总大小不能超过 65,536 字节。如果总数超过 65,536 字节,则 IIS 将截断数据。