症状
问题 1
将 Microsoft 应用程序请求路由 (ARR) 帮助程序模块与 X-Forwarded-For: 标头结合使用时,会在 Web 场辅助角色的请求对象上生成错误的客户端 IP 地址。
问题 2
请考虑以下情形:
- Web 场配置为使用 HTTPS 将请求转发给辅助角色。
- ARR 使用 SecureConnectionIgnoreFlags 注册表值。
- web 场配置为执行运行状况检查。
在这种情况下,运行状况检查请求失败。
问题 3
如果 Web 场配置为使用 HTTPS 将请求转发给辅助角色,则 ARR 无法验证 Web 场辅助角色是否返回特定服务器证书。
原因
这些问题的发生是由于 ARR 中的问题。
下载信息
从 Microsoft 下载中心可以下载以下文件:
有关如何下载 Microsoft 支持文件的更多信息,请单击以下文章编号,以查看 Microsoft 知识库中相应的文章:
119591 如何从联机服务获取Microsoft支持文件,Microsoft扫描此文件中是否存在病毒。 Microsoft 使用的是文件发布时可以获得的最新病毒检测软件。 该文件存储在安全性得到增强的服务器上,以防止对文件进行未经授权的更改。
先决条件
若要应用此修补程序,必须安装应用程序请求路由 3.0 (3.0.1750 或更高版本) 。
重启要求
应用此修补程序后,可能需要重启服务器。
修补程序替代信息
此修补程序不会替换任何以前发布的修补程序。
文件信息
此软件更新程序的英语(美国)版本将安装具有下表所列属性的文件。 这些文件的日期和时间按协调世界时 (UTC) 列出。 注意在你的本地计算机上,这些文件所显示的日期和时间是你的本地时间再加上当前的夏令时偏差。 如果对这些文件执行某些操作,日期和时间也可能会更改。
对于所有受支持的基于 x86 的应用程序请求路由 3.0 版本
| 文件名 | 文件版本 | 文件大小 | 日期 | 时间 | 平台 |
|---|---|---|---|---|---|
| requestRouter.dll | 7.1.1965.0 | 310,512 | 05-16-2016 | 21:50 | x86 |
| Microsoft.Web.Management.Arr.Client.dll | 7.1.1965.0 | 379,632 | 05-16-2016 | 21:51 | Msil |
| Microsoft.Web.Management.Arr.dll | 7.1.1965.0 | 109,296 | 05-16-2016 | 21:51 | Msil |
对于所有受支持的基于 x64 的应用程序请求路由 3.0 版本
| 文件名 | 文件版本 | 文件大小 | 日期 | 时间 | 平台 |
|---|---|---|---|---|---|
| requestRouter.dll | 7.1.1965.0 | 326,896 | 05-16-2016 | 21:50 | x64 |
| Microsoft.Web.Management.Arr.Client.dll | 7.1.1965.0 | 379,632 | 05-16-2016 | 21:51 | Msil |
| Microsoft.Web.Management.Arr.dll | 7.1.1965.0 | 109,296 | 05-16-2016 | 21:51 | Msil |
状态
Microsoft已确认这是“适用于”部分中列出的Microsoft产品中的更新。
详细信息
安装此修补程序后,将进行以下修复。
问题 1
此修补程序将 trustImmediateProxy 属性添加到应用程序请求路由帮助程序模块配置设置。 TrustImmediateProxy 控制是否应将接收请求的服务器自动添加到 trustedProxies 列表。 如果未指定,则 trustImmediateProxy 设置为“false”。
应用此修补程序后,trustUnlisted 属性的默认值将从“true”更改为“false”。
示例配置:
<proxyHelper>
<trustedProxies trustUnlisted=“false” trustImmediateProxy=“true”>
<add ipAddress=“1.1.1.1” />
<add ipAddress=“2.2.2.2” />
</trustedProxies>
</proxyHelper> 问题 2
应用此修补程序后,应用程序请求路由运行状况检查使用 SecureConnectionIgnoreFlags 设置。
问题 3
应用此修补程序后,应用程序请求路由支持使用可选的 Algorithm OID 字符串配置 SSL 服务器证书公钥的每个 Web 场集合。 这会验证从 Web 场辅助角色收到的服务器证书。
示例配置:
<webFarms>
<webFarm name=“MyServerFarm”>
<server address=“first.backend.com” enabled=“true” />
<server address=“second.backend.com” enabled=“true” />
<applicationRequestRouting>
<publicKeys>
<publicKey bytes=“112233445566778899AABBCCDDEEFF” algorithmOid=“1.2.840.113549.1.1.11” />
<publicKey bytes=“AABBCCDDEEFF112233445566778899” />
</publicKeys>
</applicationRequestRouting>
</webFarm>
</webFarms> Notes
- 字节字段是服务器证书公钥 Blob 的十六进制表示形式,不带空格。
- AlgorithmOid 是 Algorithm OID 的字符串表示形式。 在前面的示例中,1.2.840.113549.1.1.11 对应于 SHA256。 algorithmOid 是可选的。 如果未指定,则接受任何算法 OID。
参考资料
了解 Microsoft 用于描述软件更新的术语。