【问题标题】:IIS 7 windows server 2008 Bad requestIIS 7 windows server 2008 错误请求
【发布时间】:2014-09-30 11:00:23
【问题描述】:

我在 IIS 7 上有一个简单的 Web 表单,它运行良好。我们不得不更改盒子服务帐户的密码,突然网站无法正常工作。最初我收到一个 http 500 错误。然而,在修改设置后,我设法得到了一个同样无用的错误消息,称为“错误请求”。我在网上尝试了所有方法来解决问题,但我无法解决。基本上我无法在任何日志中看到相应的错误消息。

Http 日志没有与我的时间戳对应的行,并且 IIS 日志为空。我不知道从这里去哪里。如果您需要任何其他信息,请告诉我。如果有帮助,我将附上来自提琴手跟踪的请求和响应

请求 GET /Adv_Form.aspx HTTP/1.1

响应 HTTP/1.1 400 错误请求

【问题讨论】:

  • 开启 FailedRequest Tracing 看看是谁产生了错误。
  • 要启用失败的请求跟踪,我需要在我的服务器管理器中查看 Web 服务器 IIS 角色。在我的情况下,角色是空的,我似乎没有添加新角色的选项。我正在使用此链接启用此iis.net/configreference/system.webserver/tracing/…
  • 你的角色是空的?当然,您的 IIS 已安装和设置?您可以使用 powershell 进行查询:Get-WindowsFeature

标签: asp.net iis


【解决方案1】:

因为这里的任何人几乎不可能就一个错误的请求提供这个问题的答案,所以这两个请求字符串是你应该做的:

您应该检查一些日志文件:

IIS 日志:c:\inetpub\logs\LogFiles\W3SVC(然后是 SiteID)

正如你所注意到的,这些都是空的:

HTTPERR 日志:c:\windows\system32\LogFiles\HTTPERR

这些可能包含您的 400 bad request 错误的详细信息。

应用程序事件日志中的 ASP.NET 异常

您可以按照此处的指南:http://technet.microsoft.com/en-us/library/cc749408.aspx 了解如何使用事件视图。

【讨论】:

  • 所以我尝试了 IIS 日志文件夹为空。至于httperr,如果我按时间戳和最后修改时间,该文件没有任何关于我所面临的错误的信息。事件日志我也看不到任何东西。这些也是我之前尝试过的一般事情。我只是不知道我哪里出了问题。
【解决方案2】:

我通过在IIS 中添加一个error page 来解决这个问题,该IIS 运行一个名为400.cfm 的CF script(您可以使用ASP 或PHP),它重定向用户并向我发送一封电子邮件以进行调试。

将 &400 参数添加到重定向是为了避免循环。

cflocation url="#cgi.HTTP_REFERER#&400" addtoken="no"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-08
    • 2012-07-24
    • 2011-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多