【发布时间】:2015-03-19 15:38:11
【问题描述】:
我在 Windows Server 2012 R2(IIS 版本 8.5.9600.16384)中托管了 ASP NET 4.5 应用程序。但是偶尔我会收到一个错误,比如 Bad Request - Invalid Verb HTTP Error 400。从一个页面转到另一个页面时,请求动词无效。没有出现此错误的特殊顺序或特定页面。
httperr 日志文件向我显示类似
的错误2015-01-21 04:48:18 MyIP 55452 ServerIP 80 - - - 400 - Verb -
2015-01-21 04:48:20 MYIP 55454 SerevrIP 80 - - - 400 - Verb -
我查看了这篇帖子http://support.microsoft.com/kb/828726,但这里它适用于 Microsoft Internet Information Services (IIS) 6.0。我也可以为 iis 8.5 做这个修补程序吗?我在互联网上搜索过这个问题,但无法获得大量信息。那么,谁能帮我解决这个问题。
使用 Fiddler 我得到了请求的原始数据
POST http://example.com/Project.aspx?prj=5566 HTTP/1.1
Host: example.com
Connection: keep-alive
Content-Length: 30634
Cache-Control: max-age=0
Authorization: Negotiate
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Origin: http://example.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.99 Safari/537.36
Content-Type: application/x-www-form-urlencoded
Referer: http://example.com/Project.aspx?prj=5566
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.8
Cookie: ASP.NET_SessionId=4oymd5odmcaluiuzc24tbx22; _gat=1; _ga=GA1.2.1888408676.1418017144
Windows Server 2012 R2的请求过滤设置为
任何帮助将不胜感激。
【问题讨论】:
-
通过在您的 httperr 日志中添加额外的字段(例如请求 url),您可以找到来自哪部分代码的请求。
-
有点晚了,但由于这篇文章有很多观点,我在这里提出这个建议:在stackoverflow.com/questions/35654199/… 提出的案例中,问题是由无效的cookie引起的。它可以解释这个问题。清除所有 cookie 可能会解决。
-
@Gopesh Sharma,你能解决这个问题吗?我面临着完全相同的问题。清除 cookie/更新浏览器无济于事。这只发生在 Chrome 上。
-
我也有同样的问题。一样的环境。 Windows Server 2012 R2(IIS 版本 8.5.9600.16384)Chrome/52.0.2743.116。我也有相同的 IIS 设置。 IE 运行良好。清理 cookie 或缓存的问题不会消失。