flask和nginx服务器中的错误处理程序

时间:2015-10-28 19:12:12

标签: python nginx flask

我在我的烧瓶应用程序中使用以下错误处理程序

@app.errorhandler(413)
def error413(e):
    return render_template('error413.html'), 413

如果发生错误413(文件大小太大),则显示错误页面。这在我的localhost上工作正常,但在服务器上我得到了nginx 413错误页面。

413 Request Entity Too Large
nginx/1.4.6 (Ubuntu)

关于错误处理,nginx服务器和localhost之间有什么不同吗? 我和nginx一起使用gunicorn ...... 谢谢 卡尔

1 个答案:

答案 0 :(得分:1)

默认情况下,nginx捕获HTTP错误代码。出于安全考虑,这是一件好事。

可以禁用此行为,您可以设置uwsgi_intercept_errors off

http://nginx.org/en/docs/http/ngx_http_uwsgi_module.html#uwsgi_intercept_errors

您可以使用由nginx提供的自定义静态错误页面。例如:

error_page 413 /custom_413.html;

location = /custom_413.html {
    root /usr/share/nginx/html;
    internal;
}

只需将其设置为您要处理的所有错误代码即可。