我正在使用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不处理包含空格的网址?我的反向代理规则与所有内容匹配:
(.*)
我没有条件适用于该规则。
答案 0 :(得分:11)
您需要允许双重转义。
转到IIS - >选择您的服务器节点 - >请求过滤 - >编辑功能设置... - >勾选'允许双重转义'
这解决了您使用Confluence和URL中的空格的问题。
答案 1 :(得分:0)
您也可以使用命令行
%windir%\ system32 \ inetsrv \ appcmd set config“默认网站”-section:system.webServer / security / requestfiltering -allowDoubleEscaping:true