首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为IIS 8.5配置/启用请求路由器帮助程序

问如何为IIS 8.5配置/启用请求路由器帮助程序
EN

Stack Overflow用户
提问于 2016-12-15 22:46:05
回答 3查看 2.6K关注 0票数 1

我们有一个web过滤器/负载均衡器,它将流量定向到我们的IIS8.5(Windows2012 R2)服务器。问题是,在IIS日志中,IP地址(c字段)被记录为负载均衡器的本地地址(一个logs,而不是微软的ARR),而我们需要记录实际客户端的源IP (它在“自定义”X-Forwarded-For报头中提供)。我不能使用IIS的“高级日志”特性来简单地创建另一列,因为我们的日志监视软件无法处理这个自定义字段,也不能处理附加到日志文件名的“_x”。

因此,我花了好几个小时试图让微软的Request自动将X-Forwarded-For字段值转换为c-ip字段(我相信它应该这样做)。基于下面列出的参考站点,我做了以下工作:

  1. 将requestrouterhelper_x64.msi从ARR v3安装安装到IIS8.5服务器
  2. 我证实我可以在: C:\Windows\System32\inetsrv\config\schema\arr_helper_schema.xml上看到文件(但没有更改任何内容)。
  3. 我在IIS管理器中没有看到任何其他模块或特性(应该吗?)
  4. 查看日志文件(在IISRESET甚至重新启动之后),c-ip值仍被记录为127.0.0.1,而不是客户端的IP地址。

在启用/配置来自ARR的请求路由器助手以自动将客户端IP转到c-ip字段时,我还需要做什么其他的事情吗?

参考文献:

IIS 7/8:在IIS命中日志中记录真正的客户端IP

( IIS 7的原始版本)

(关于IIS8 -见已接受的答案)

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-12-16 19:45:31

许多小时后,我们了解了如何在IIS 8.5上启用此功能。以下是几个步骤:

  1. 从本站下载该工具的64位版本。而不是安装通过安装ARR平台安装程序获得的版本(这是它不起作用的最大问题)。
  2. 从admin命令提示符解压缩并运行MSI。
  3. 打开C:\Windows\System32\inetsrv\config\applicationHost.config并检查其在globalModules部分下的模块注册(如下所示)

<添加name="ARRHelper“image="%ProgramFiles%\IIS\ARR Helper\requestRouterHelper.dll”/>

  1. 在同一个文件中,检查或在节位置path="" / modules中添加以下条目

<添加name="ARRHelper“/>

我希望这能帮助其他有同样挫折感的人。

票数 2
EN

Stack Overflow用户

发布于 2016-12-22 16:36:48

谢谢bigmac。你的回答肯定有帮助。我必须在我的环境中做一件事才能让它发挥作用:

  1. 通过命令提示符(如bigmac所说)以admin的形式运行.MSI。但是,我注意到在这样做之后,程序并没有实际安装(检查控制面板中的程序)。
  2. 右击并第二次安装.MSI (不是从命令提示符)。
  3. 检查以确保在安装时修改了ApplicationHost.config。这将确认安装是否成功。 我尝试了几次,注意到只有在按照这个顺序执行这些步骤之后,它才能工作。如果您首先运行安装程序(不是以管理员身份),它将安装,但不能工作。
票数 1
EN

Stack Overflow用户

发布于 2019-09-02 16:51:55

对于使用Windows 2019的IIS 10的用户,bigmac提供的链接可以工作。此外,经过大量的研究和尝试,我发现日志记录中的自定义字段会阻止ARR记录X转发-For标头。我不得不删除自定义日志字段,然后ARR就开始正常工作了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41174577

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档