【问题标题】:"The page cannot be displayed because an internal server error has occurred", Azure Website,“由于发生内部服务器错误,无法显示页面”,Azure 网站,
【发布时间】:2013-03-29 12:33:29
【问题描述】:

我已将 azure 网站部署到美国东部位置,预留实例。我有 CustomErrors=On。经过几分钟的工作(性能相当不错),应用程序挂起,速度变慢。 (我在 elmah 中没有看到任何错误。)之后开始返回 500 错误。我的自定义错误页面没有显示(我只看到“页面无法显示,因为发生了内部服务器错误。”纯文本)所以我什至无法自定义它。然后应用程序重新启动。我们不能像那样投入生产。我不知道该怎么办。

【问题讨论】:

    标签: azure web


    【解决方案1】:

    我今天在 VS2013 上遇到了同样的问题。

    我的 WCF-Services 网站在本地运行良好,但在发布到 Azure 后无法运行。

    在 VS2013 Update 2 中,我导入了 Azure Publish Profile 文件,发布到 Azure,但总是收到以下消息:

    The page cannot be displayed because an internal server error has occurred
    

    即使是我的基本 Default.htm 文件,它显示了一个简单的“This is default.htm”消息,也拒绝显示,而且,我只是得到同样的信息。

    解决方案

    谢天谢地,我有第二个 WCF 服务 正确发布到 Azure,所以我将它的 web.config 文件与“故障”项目的 web.config 文件进行了比较。

    我发现我需要手动将“system.web”部分删除为:

    <system.web>
       <compilation debug="true" targetFramework="4.5" />
       <httpRuntime targetFramework="4.5" requestPathInvalidCharacters="" />
    </system.web>
    

    (删除了大量程序集、页面\控件、httpHandlers 和 httpModules 的东西) 并且完全摆脱了“system.webServer”部分。

    完成此操作后,我可以发布到 Azure,一切正常。

    希望这会有所帮助。

    【讨论】:

    • 我无法将 元素擦除以用于生产,但我确实发现了一个日志组件 (Elmah),它可能需要在 MVC5 升级后进行更新。因此,通过 项目对我来说非常重要。
    • 当我删除 system.webserver 我得到你没有权限查看这个目录或页面。此页面消息,当我添加 system.webserver 时,我得到“页面无法显示,因为发生了内部服务器错误。”请提供任何帮助
    • 我遇到了同样的问题,但仅针对部署在 azure 中的 Web 应用程序中的特定 URL。任何建议都是有帮助的。
    • 由于特定 URL 和应用程序根目录具有相似名称而导致上述问题。删除目录时问题已解决。
    【解决方案2】:

    我能给出的解决您的问题的最佳建议是检查网站诊断日志。您可以按照here 的说明在本地下载日志。

    如果您使用新的 Windows Azure Powershell 0.6.12,您可以使用 Powershell 命令直接使用以下命令下载日志:

    azure site log tail [options] [name] //{Retrieves the value for the selected key}
      --filter - Filter to match against for displaying log output.
      --log - Write output in a log format.
    

    上述命令将实时诊断日志从您的网站流式传输到控制台 --path [path] - 用于从中提取日志的 LogFiles 文件夹下的路径。

    更多关于 PS 的信息:https://github.com/windowsazure/azure-sdk-tools-xplat

    您也可以通过forums 联系 Azure 网站团队并寻求帮助。

    【讨论】:

    • 我有一些内存问题。 (使用 mini profiler 跟踪)从 asp.net 缓存中删除了许多对象。也许 GC 正在挂起应用程序。不知道。我们决定转移到预配置服务器,因为周五/周六晚上站点在没有任何警告的情况下停止,因为我们已经使用了所有免费传输。我们决定现在配置的服务器会更安全。我们将使用云来处理不太重要的任务。
    【解决方案3】:

    我也遇到了这个问题。就我而言,由于手动编辑,web.config 完全无效: 我更改了数据库密码并将新密码复制并粘贴到 web.config 中。

    密码中有一个 & 符号,我忘记编码了。

    【讨论】:

      【解决方案4】:

      我遇到了同样的问题,最后通过将我的应用程序池转换为 Classic 而不是 Integrated 来解决它。 我在azure门户上没有找到这个选项,只好打开“旧的azure管理平台”。

      希望这会有所帮助。

      【讨论】:

        【解决方案5】:

        就我而言,我只是在项目属性中将目标框架从 3.5 更改为 4.5。

        【讨论】:

          【解决方案6】:

          有同样的问题 - 意识到我已经通过我的 ftp 上传删除了 wwwroot 文件夹。 重新创建文件夹并添加站点 - 工作。

          【讨论】:

            【解决方案7】:

            您可能超出了存储限制。

            我的网络应用 (WordPress) 也遇到了同样的问题,我可以通过 FTP 访问我的网站并删除 wp-content/ai1wm-backups 文件夹中不必要的备份来修复它。

            您可以在Deployment center>>FTP credentials 中找到您的 FTP 凭据。

            【讨论】:

              【解决方案8】:

              只需从网络配置中删除 mime 类型即可解决

              【讨论】:

                【解决方案9】:

                这是由下面的web.config 文件设置造成的自定义错误

                <system.web>
                   <customErrors mode="Off" />
                </system.web>
                

                这是一个自定义错误,如果您在网站上工作并且在配置自定义域后收到此错误。您应该在 azure 上启动该站点的新实例,然后确保在从 Visual Studio 发布网站或用于部署 Web 应用程序的任何内容之前,您已将所有内容设置为域名。

                【讨论】:

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