【问题标题】:HTTP 500 Internal Error - IIS websitesHTTP 500 内部错误 - IIS 网站
【发布时间】:2011-05-23 21:32:35
【问题描述】:

我已在加载了 Windows Server 2008 R2 的环境中安装了 SP 2010。我一直在使用 VS 2010 为 SP 2010 开发应用程序页面。

我使用 wsp builder 将我所有的 dll、页面、脚本和图像打包到一个解决方案包中,并将其部署在 Web 应用程序中。

一切都像魅力一样运作。当我的网络应用程序突然弹出 'HTTP 500 Internal Server Error' 时,我开始忍受痛苦的时光。在我对应用程序页面进行了一些重大更改并部署它之后,这种情况就开始发生了。

我尝试创建新的 Web 应用程序,但它对我没有任何好处。关于此问题的根源的任何见解?

问候, 拉古拉曼.V

【问题讨论】:

    标签: asp.net visual-studio-2010 iis


    【解决方案1】:

    通过编辑 Web.config 和 applicationhost.config 解决了这个问题。 C:\Users\\Documents\IISExpress\config 或右键单击托盘上的 IIS Express 图标并查看所有应用程序并单击所需的网站,然后单击配置文件链接。

    注释掉

    <error statusCode="500" prefixLanguageFilePath="%IIS_BIN%\custerr" path="500.htm" />
    

    设置父节点为&lt;httpErrors errorMode="DetailedLocalOnly"

    将 httpErrors 设置为允许

    <section name="httpErrors" overrideModeDefault="Allow" />
    

    更改您的 Web 项目 web.config HttpErrors

    <httpErrors errorMode="Custom" existingResponse="Auto">
    

    这应该可以解决它,它基本上是在说“我不希望 IIS Express 覆盖我的站点的配置”。

    【讨论】:

    • 发表评论删除了html,请看下面应该的帖子。注释掉错误 statusCode="500" prefixLanguageFilePath="%IIS_BIN%\custerr" path="500.htm" 将父节点设置为 httpErrors errorMode="DetailedLocalOnly" 将 httpErrors 设置为 Allow 部分 name="httpErrors" overrideModeDefault="Allow " 更改您的 Web 项目 web.config HttpErrors httpErrors errorMode="Custom" existingResponse="Auto"
    • 您只需要使用代码块选项格式化答案,我现在已经为您修复了答案。
    • 谢谢,这是我的第一篇文章 :-)
    • 别担心,我们都是新人一次:)
    • 这有助于我们找到错误详细信息,我刚刚将 更改为 并出现错误详细信息。非常感谢这个解决方案!
    【解决方案2】:

    要解决此问题,您应该首先指示 IIS 显示详细的错误消息,而不仅仅是“500”。

    调整您的web.config 文件并将custom errors 设置为关闭:

    <customErrors mode="Off" />
    

    (区分大小写)。

    此外,如果您使用的是 Internet Explorer,请打开高级选项“显示友好的错误消息”。

    【讨论】:

    • @above 感谢您的回复....我已经将自定义错误设置为关闭。除此之外,如果我关闭“显示友好的错误消息”,我会得到一个空白屏幕,这又没用了
    • 也许它有助于直接使用 Web 服务器本身的浏览器请求 URL。另外,检查 web 服务器的事件日志,错误也应该记录在那里。
    • 我检查了 Windows 事件查看器以及 iis 日志。我怀疑它与我们的域控制器有关。我偷偷进入事件查看器只是为了发现这个错误“此工作站和主域之间的信任关系失败。”是否有可能由于域控制器问题导致页面请求失败?
    【解决方案3】:

    为了帮助其他人,这里有一个指南可以帮助我找出我的设置出了什么问题(感谢 Rick Barber): Working past 500

    1. 从位于同一服务器上的浏览器加载站点。在 IE 中,您可能需要关闭“显示友好的 http 错误”。
    2. 在 web.config 文件的适当标签中临时添加以下内容:

      <configuration>
          <system.webServer>
              <httpErrors errorMode="Detailed" />
          </system.webServer>
          <system.web>
              <customErrors mode="Off" />
              <compilation debug="true" />
          </system.web>
      </configuration>
      
    3. 打开 IIS 管理器并尝试通过双击图标来打开一些不同的功能。如果 web.config 文件有错误,甚至无法解析,有时你会得到一个有用的错误。

    4. 查看Windows Event Viewer。有时您可以在其中找到详细的错误记录,尤其是 Application Event Viewer。
    5. Setup Failed Request Tracing。如果是间歇性 500 错误,这尤其有用。
    6. Look through the web log files。这对于间歇性 500 错误特别有用。您通常可以解析日志文件以查看特定页面是否存在引发 500 错误的趋势。

    【讨论】:

      猜你喜欢
      • 2023-04-07
      • 2018-05-24
      • 2018-11-15
      • 2023-03-12
      • 1970-01-01
      • 2016-03-21
      • 2014-06-05
      相关资源
      最近更新 更多