繁体   English   中英

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

[英]Application Request Routing (ARR) IIS 7 Spaces in URL

我正在使用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? 我的反向代理规则匹配所有内容:

(.*)

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

你需要允许双重逃逸。

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

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

您也可以使用命令行

%windir%\\ system32 \\ inetsrv \\ appcmd set config“默认网站”-section:system.webServer / security / requestfiltering -allowDoubleEscaping:true

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM