我们有一个web过滤器/负载均衡器,它将流量定向到我们的IIS8.5(Windows2012 R2)服务器。问题是,在IIS日志中,IP地址(c字段)被记录为负载均衡器的本地地址(一个logs,而不是微软的ARR),而我们需要记录实际客户端的源IP (它在“自定义”X-Forwarded-For报头中提供)。我不能使用IIS的“高级日志”特性来简单地创建另一列,因为我们的日志监视软件无法处理这个自定义字段,也不能处理附加到日志文件名的“_x”。
因此,我花了好几个小时试图让微软的Request自动将X-Forwarded-For字段值转换为c-ip字段(我相信它应该这样做)。基于下面列出的参考站点,我做了以下工作:
在启用/配置来自ARR的请求路由器助手以自动将客户端IP转到c-ip字段时,我还需要做什么其他的事情吗?
参考文献:
发布于 2016-12-16 19:45:31
许多小时后,我们了解了如何在IIS 8.5上启用此功能。以下是几个步骤:
C:\Windows\System32\inetsrv\config\applicationHost.config并检查其在globalModules部分下的模块注册(如下所示)<添加name="ARRHelper“image="%ProgramFiles%\IIS\ARR Helper\requestRouterHelper.dll”/>
path="" / modules中添加以下条目<添加name="ARRHelper“/>
我希望这能帮助其他有同样挫折感的人。
发布于 2016-12-22 16:36:48
谢谢bigmac。你的回答肯定有帮助。我必须在我的环境中做一件事才能让它发挥作用:
发布于 2019-09-02 16:51:55
对于使用Windows 2019的IIS 10的用户,bigmac提供的链接可以工作。此外,经过大量的研究和尝试,我发现日志记录中的自定义字段会阻止ARR记录X转发-For标头。我不得不删除自定义日志字段,然后ARR就开始正常工作了。
https://stackoverflow.com/questions/41174577
复制相似问题