【问题标题】:How to debug Azure 500 internal server error [closed]如何调试 Azure 500 内部服务器错误 [关闭]
【发布时间】:2011-06-12 20:29:27
【问题描述】:

我新部署的站点出现 500 内部服务器错误。我正在尝试将 Umbraco 部署到 Azure。

我已经关闭了自定义错误,但这并没有帮助。

有没有看到 Azure 抛出的错误?

已解决
我能够编辑我的配置并将 RDP 设置为我的网络角色。一旦进入盒子,我就无法通过 IP 访问它,因为我使用的是 umbraco 加速器。 IIS 中有一个绑定到 0.mydomain.com。如果我使用它,我可以看到来自服务器的页面并出现错误。

【问题讨论】:

  • 是否有某种Development 模式或Debug 模式?通常,服务器在处于实时或生产模式时会抑制错误,从而防止可能的攻击者利用故障代码。
  • 阅读您的评论后,我将我的实例从生产切换到了暂存。我仍然有同样的问题。
  • 远程进入实例并查看事件查看器?
  • 是的,使用 RDP 登录并从服务器本身查看网站对我有用
  • 虽然这个问题已经结束,但我仍然发现它是谷歌结果中的第一个命中,所以为了其他发现它的人的利益:使用 Azure Web 应用程序服务,您可以安装 Azure 网站事件查看器 扩展程序,以查看究竟是什么错误。

标签: asp.net azure umbraco


【解决方案1】:

对于 500 错误,一种好方法是打开诊断并查看日志 - 应用程序事件日志和失败的请求日志可能会有所帮助。这是一篇关于此的帖子 - http://oakleafblog.blogspot.com/2010/11/adding-trace-event-counter-and-error.html

正如 Igorek 所说,您还可以使用 RDP(远程桌面)登录并检查应用程序 - 这是一篇很好的博客文章 - https://blogs.msdn.com/b/jimoneil/archive/2011/04/11/500-and-other-errors-in-azure-deployments.aspx


我的猜测是您可能在部署的包中缺少一个或多个程序集

【讨论】:

    【解决方案2】:

    您不必使用 RDP,只需在 Web.Config 中关闭自定义错误即可。但是请确保您将其添加到根 Web.Config 中,这样就可以解决问题。

    这是我的一个例子:

    <system.web>
        <customErrors mode="Off" />
        <compilation debug="true" targetFramework="4.5">
           ........
        </compilation>
    </system.web>
    

    请注意,一个典型项目中有多个 web.configs.. 确保将其添加到根 web.config(您的 Global.asax 所在的位置)而不是 Views 文件夹中。

    【讨论】:

    • 关闭 customErrors 如何帮助调试 500 错误?我在 Azure 控制器上试过这个,但它似乎对调试过程没有帮助。
    • @tresf,一旦你关闭 customErrors,你应该能够看到所有异常的全部荣耀......整个堆栈跟踪显示给你,所以你可以看到错误所在的确切行起源。
    • 谢谢,很遗憾,某些 Azure 消息并非如此。就我而言,我遇到了这个问题:stackoverflow.com/a/34051995/3196753。我们已经根据上下文确定了问题,逐行调试直到它消失(而不是通过标准错误消息)并修复它,但 Azure 应该使这个故障排除过程更容易。
    猜你喜欢
    • 1970-01-01
    • 2023-03-10
    • 2017-09-01
    • 2017-08-13
    • 1970-01-01
    • 2013-02-23
    • 1970-01-01
    相关资源
    最近更新 更多