【问题标题】:Random 404 using IIS使用 IIS 的随机 404
【发布时间】:2011-09-15 22:37:24
【问题描述】:

什么会导致 IIS 仅在某些时候返回 404?如果我在页面上点击 404,我可以简单地点击刷新,它就会出现。它是可重现的。我用提琴手看看发生了什么,但我没有看到任何东西。我已经设置了 IIS 跟踪,但同样,我看不出究竟是什么问题,文件存在并且 404 有时只会发生。有时我的意思是如果我导航到一个页面并得到一个 404,我可以刷新它并且它会出现,但有时我可以导航到该页面并且它不会 404。它不限于任何一个页面或条件。

我还可以尝试哪些其他方法来确定问题所在?

【问题讨论】:

  • 如果您使用新的“隐私浏览”窗口(即没有 cookie 等)导航到页面,404 是否总是出现?另外,IIS 中配置了哪些模块、通配符映射和处理程序?
  • @Justin 是的,它是否在私密浏览中并不重要。
  • 我不清楚你的回答。 404 always 是在 new 隐私浏览会话中的第一次 访问时发生,还是仍然是随机的?
  • 不管是不是隐私浏览,都是随机的。
  • 然后您需要查看在 IIS 和/或 Web.config 中配置的模块、通配符映射、处理程序和过滤器。禁用它们并使用消除过程。

标签: asp.net iis iis-7.5


【解决方案1】:

如果您已运行 Fiddler,并且看到请求到达服务器并看到 404,那么这听起来不像是网络农场问题。

您可能想试试SysInternals ProcMon 看看下面发生了什么。

【讨论】:

    【解决方案2】:

    通常的原因是您有一个包含多台机器的网络场,但在一台机器上缺少页面。

    因此,每次您随机使用缺少页面的机器时,您都会得到 404。

    【讨论】:

    • 或者更确切地说是微软命名法中的“网络农场”。 “集群”通常只是 Microsoft 所说的故障转移,而不是负载平衡。
    • 没有网络场或集群或负载平衡
    【解决方案3】:

    我也遇到过类似的问题,我追查到它是为了改变这个:

    <modules runAllManagedModulesForAllRequests="true" />
    

    到:

    <modules runAllManagedModulesForAllRequests="false" />
    

    显然,需要进行分析以确保这不会以任何其他方式影响您的应用程序。

    【讨论】:

      【解决方案4】:

      我只有在 MVC 应用程序时才有这个,因为在某些情况下我的路线不正确。点击会产生 404 但 F5(refresh) 会正确显示网页。您没有提到 mvc,但认为值得投入。

      【讨论】:

        猜你喜欢
        • 2017-01-14
        • 1970-01-01
        • 1970-01-01
        • 2021-01-24
        • 1970-01-01
        • 1970-01-01
        • 2019-03-11
        • 2020-08-25
        • 1970-01-01
        相关资源
        最近更新 更多