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

7
我正在使用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?我的反向代理规则适用于所有内容:
(.*)

我对该规则没有任何限制条件。


我在使用YouTrack时也遇到了这个问题。 - Nathan
2个回答

11

您需要允许双重转义。

进入IIS ->选择您的服务器节点->请求筛选->编辑功能设置...->勾选“允许双重转义”

这将解决Confluence和URL中空格的问题。


0

你也可以使用命令行

%windir%\system32\inetsrv\appcmd set config "Default Web Site" -section:system.webServer/security/requestfiltering -allowDoubleEscaping:true


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接