为什么Azure会给我随机500个错误?

时间:2017-07-20 20:59:27

标签: node.js azure azure-web-sites

我构建了一个Node.js Web应用程序并将其部署为Azure Web应用程序。 Web应用程序基本上从Azure存储帐户获取数据并将其显示给客户端。非常简单。

有时,数据可能需要一段时间才能返回客户端。所以我使用promises来处理这个问题的异步性。

在开发服务器上,没有问题。数据总是返回给客户端。 (在Internet Explorer,Chrome和Firefox上测试)

但是,在Azure Web应用程序中,有时数据会将其返回给客户端,有时请求会失败(总是在5秒后),客户端可能会在浏览器的开发人员工具中看到500(内部服务器)错误

现在,即使客户端收到500错误,azure日志流也没有显示任何问题,服务器继续工作,就像从未发生过问题一样。

此Web应用程序使用免费的层服务计划构建,该计划使用共享资源。这是问题还是有人在Azure中遇到过这个问题的经验?

2 个答案:

答案 0 :(得分:0)

对于500错误,您需要启用stdout和stderr的日志记录以进行故障排除,并查看日志的内容。要启用调试,您可以修改web.config或在Node.js应用程序的根目录下创建/修改iisnode.yml文件。

web.config中,它看起来像这样:

<iisnode loggingEnabled="true" logDirectory="iisnode" />

或者在iisnode.yml中,它看起来像这样:

loggingEnabled: true
logDirectory: iisnode

现在,您可以转到查看日志 浏览器中的https://{yoursitename}.scm.azurewebsites.net/api/vfs/site/wwwroot/iisnode/index.html

enter image description here

您还可以查看有关在Azure Web App中调试Node.js的这些说明:  How to debug a Node.js web app in Azure App Service

答案 1 :(得分:0)

在微软论坛上提出同样的问题:

https://social.msdn.microsoft.com/Forums/en-US/a89e8cec-15d6-4a3b-b54d-17f6092ead77/webhcat-post-request-from-web-app-cause-500-error?forum=windowsazurewebsitespreview

原来这是Azure的一个问题,而不是我的代码。我的网站现在正在运作。