【问题标题】:IIS7 .NET (2.0, 4.0) completely hosed with a Bad Request (Error Code 400) errorIIS7 .NET(2.0、4.0)完全被错误请求(错误代码 400)错误所困扰
【发布时间】:2011-07-28 00:43:23
【问题描述】:

突然间,我服务器上的所有网站都返回 400 Bad Request Error。我不知道发生了什么。应用程序池以经典管道模式(4.0、2.0)运行,没关系。

我输入的每个 URL 都会返回 400 Bad Request。真实的 URL,甚至是不存在的虚假 URL(应该返回 404)都是 400。

http://mywebsite.com/AFile.aspx
http://mywebsite.com/AFolder/AnotherFile.aspx
http://mywebsite.com/Bfolder/YetAnotherSillyPage.aspx
http://mywebsite.com/A_stupid_URL_that_does_not_even_exist_fjfjffjfj.aspx

Everything 400 错误请求。完全搞砸了我的 ASP.NET。我应该从哪里开始看?机器配置? Web.config?

更新: 在尝试了一百万种不同的设置之后,我终于将 App Pool 设置为 Integrated 并将 Identity 设置为 LocalSystem 并且突然之间它可以工作了。

【问题讨论】:

  • 从 iis 浏览页面时会出现这种情况吗?
  • 您能在 EventViewer 上看到详细的错误信息吗?您现在看到的一般错误没有详细信息,但在 EventViewer 中您可以看到真正的错误和详细信息。
  • 在哪里查找“详细”错误?我正在查看事件查看器/自定义视图/Web 服务器,但没有看到任何红色错误,仅提供信息。我还应该去哪里看?
  • 有人提到 IIS7 默认情况下是“锁定的”。难道.aspx页面需要“打开”。如果是这样,我在哪里检查它是否“打开”?

标签: asp.net iis-7


【解决方案1】:

Bad Request 通常是 HTTP.sys 由于某些非常糟糕的事情(例如无效的 URL 或类似的事情)而停止请求。 您可能应该在以下位置查看 HTTP.sys 日志(不是 IIS):
C:\Windows\System32\LogFiles\HTTPERR

另外,http.sys 配置中可能有问题,请尝试运行:
netsh http show servicestate

并查看您的网站是否具有正确的绑定,例如,绑定可能仅侦听特定的 IP 地址,但它来自另一个,或类似的问题,但与主机名等有关。

最后您可能想要运行:
C:\Windows\System32\inetsrv\appcmd 列出站点

看看绑定和状态是否有意义。

【讨论】:

    【解决方案2】:

    您是否尝试过使用 aspnet_regiis.exe 实用程序重新安装(或卸载/安装)asp.net?这在过去为我解决了奇怪的 IIS/ASP.NET 服务器问题。

    您是否在事件日志中查看过任何错误消息或进一步的线索?

    【讨论】:

    • 日志中没有错误级别事件,只有信息(和不相关)事件。我没有尝试过 aspnet_regiis.exe,我希望尽可能避免重新安装。
    猜你喜欢
    • 2011-04-02
    • 1970-01-01
    • 1970-01-01
    • 2020-03-18
    • 2019-12-22
    • 2017-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多