IIS7.5 400 URL包含字符时的错误请求:

时间:2013-12-20 02:14:20

标签: iis http-status-code-400

我正在使用IIS7.5的ARR和ISAPI。 每当转发包含特定字符的URL时: 发生400错误请求。 我该如何解决?

我想ARR和ISAPI没有问题,因为开发服务器没有问题(与运行服务器相同的Env)只会出现在操作服务器中。

2 个答案:

答案 0 :(得分:2)

默认情况下,IIS 7.5会拒绝路径中的某些字符 - 默认为以逗号分隔的列表:<,>,*,%,&,:,\\。如果请求命中该列表,它将返回http 400错误,因为在配置服务器的情况下请求是错误的。有一点背景,请参阅此blog postthis MSDN page。具体来说,您可能希望将httpRuntime配置更新为:

<httpRuntime requestValidationMode="2.0"
             requestPathInvalidCharacters="&lt;,&gt;,*,%,&amp;,\"
             />

答案 1 :(得分:1)

{URL}中仅允许:字符作为IPv6地址的一部分。要么将其编码为%3A,要么不要使用它。

您可以在RFC3986

中找到参考