500 - 天蓝色的内部服务器错误

时间:2012-12-30 05:27:21

标签: azure

我正在使用SDK 1.8。我想在azure中部署一个示例站点。我有一个测试帐户,所以我不知道我是否拥有完整的权限。当我使用模拟器在本地运行一个站点时但是当我创建一个包并在azure中部署时,我收到了一个错误:

500 - Internal server error

我发现this question有同样的问题。5个月没有解决方案。我包含在web.config中:

customErrors="Off"

但仍然是同样的问题。我将此部署为创建包的网站。

我搜索但从未找到任何解决方案。可能有些人面临同样的问题并得到解决方案。谢谢。

3 个答案:

答案 0 :(得分:0)

Azure网站未部署为程序包,您可以从TFS或Visual Studio发布。 Azure WebRoles使用包部署到Azure云服务。根据问题referenced中的建议,完全删除“sites”元素。对于简单部署,它被过度指定。请参见此处的图1 - http://msdn.microsoft.com/en-us/wazplatformtrainingcourse_advancedwebandworkerroles_topic2.aspx

答案 1 :(得分:0)

您可能希望使用计算模拟器在本地调试它。即使你现在没有使用它来快速在云上工作,你将来也需要它。

帮助获得更具描述性的输出的一种方法是启用详细的错误消息,而不是您当前看到的错误消息。

这不像启用自定义错误那么容易,并且需要对Web角色进行一些修改。本文“Debugging Azure HTTP 500 Errors”解释了如何执行此操作,简而言之:

在您的Web角色的根级别创建一个名为startup的新文件夹,并在此文件夹中创建一个名为startup.cmd的批处理文件。将此文件的属性设置为“始终复制”以确保将其部署。

将以下代码添加到startup.cmd文件中:

%windir%\system32\inetsrv\AppCmd.exe set config -section:system.webServer/httpErrors -errorMode:Detailed 
%APPCMD% set config -section:system.webServer/httpErrors -errorMode:Detailed

第一行启用Azure上的详细错误消息。第二行在计算模拟器上启用它们。

接下来,打开Web角色项目中的ServiceDefinition.csdef文件,并添加以下元素:

<Startup>
    <Task commandLine=”..\startup\startup.cmd” executionContext=”elevated” />
</Startup>

您的项目应该看起来像这样(在此示例中,启动标记已注释掉)

enter image description here

如果一切顺利,您应该开始看到更有用和描述性的错误消息。

答案 2 :(得分:0)

可能是由于各种原因。 就我而言,它是LocalWebDevelopmentServer设置的配置错误。将其设置为IISExpress可解决问题。enter image description here