"由于发生内部服务器错误,无法显示页面",Azure网站,

use*_*681 17 azure web

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

Mik*_*ill 17

我今天和VS2013有同样的问题.

我的WCF服务网站在本地运行良好,但在发布到Azure时拒绝工作.

在VS2013 Update 2中,我导入了发布到Azure的Azure发布配置文件,但始终收到以下消息:

The page cannot be displayed because an internal server error has occurred
Run Code Online (Sandbox Code Playgroud)

甚至我的基本Default.htm文件,显示一个简单的" 这是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>
Run Code Online (Sandbox Code Playgroud)

(它删除了大量的程序集,pages\controls,httpHandlers和httpModules东西)并且还完全摆脱了" system.webServer "部分.

一旦我完成了这个,我可以发布到Azure,它一切正常.

希望这可以帮助.

  • 删除system.webServer也为我工作! (3认同)

Avk*_*han 7

我可以给您解决问题的最佳建议是检查网站诊断日志.您可以按此处所述本地下载日志.

如果使用新的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.
Run Code Online (Sandbox Code Playgroud)

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

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

您也可以通过论坛联系Azure网站团队并寻求帮助.