Azure WebSites不会返回错误响应正文

时间:2016-03-23 05:26:47

标签: python azure azure-web-sites azure-web-app-service

我有以下配置:部署在Azure网站上的Python TornadoWeb应用程序。该应用程序实际上是REST API,它返回JSON。但是......如果响应代码是200,一切正常,但如果响应代码是50x或40x,则响应不包含任何正文(尽管仍然应该有JSON正文,但错误详情)。直接在本地测试相同的代码到Tornado或通过NGiNX工作。显然,IIS会过滤主体但不确定要更改哪些设置以避免这种情况。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

请尝试参阅文档"使用Azure App Service Web Apps配置Python的部分WSGI HandlerWeb.config"以Running Tornado apps on WSGI servers为您的Python Tornado webapp配置和编码。

如果您为Python创建了Azure WebApp,则可以执行以下步骤。

  1. 在Kudu路径web.config中创建wwwroot文件,然后从Web.config部分复制配置内容。
  2. 在Kudu路径app.py中创建wwwroot文件,然后将代码编辑为WSGI Handler部分。
  3. 尝试启动并访问webapp。
  4. 使用Tornado重新编写webapp。

答案 1 :(得分:0)

您可能需要创建一个web.config并相应地设置customErrors元素。 These是选项。 web.config将需要驻留在已部署文件夹结构的根目录中。一般来说,不应该将每个内部错误细节与堆栈跟踪暴露给用户,因为他们可能无法理解所有内容,并且它还会向潜在的攻击者提供有关系统的大量信息。这就是为什么我更喜欢短消息消息作为http响应,其余的记录在某处以供以后分析。