应用程序请求路由(ARR)URL中的IIS 7空格

Mic*_*rds 7 iis iis-7 confluence

我正在使用AAR将代理请求转发到Confluence安装.当URL不包含空格时,这可以正常工作.只要向URL添加空格,请求就会返回404,404似乎来自IIS而不是Confluence实例.

我在此处详细说明了启用失败请求跟踪:http: //learn.iis.net/page.aspx/488/using-failed-request-tracing-rules-to-troubleshoot-application-request-routing-arr/

在返回404的请求中,AAR模块似乎没有启动,日志中没有关于它的信息.我已经对返回200的页面进行了测试,我可以看到重写正常.

为什么AAR不处理带空格的URL?我的反向代理规则匹配所有内容:

(.*)
Run Code Online (Sandbox Code Playgroud)

我没有条件适用于该规则.

小智 11

你需要允许双重逃逸.

转到IIS - >选择您的服务器节点 - >请求过滤 - >编辑功能设置... - >勾选'允许双重转义'

这解决了Confluence和URL中的空格问题.