在nginx中重用django错误页面

我想避免使用djangonginx不一致的错误页面。 如果一个静态文件没有find默认的nginx错误页面,而不是django的。 我认为这会导致性能不佳,将每个失败的请求redirect到gunicorn服务器,最终导致django错误页面。 我在哪里可以find默认的django错误页面,以及如何让nginx使用它们?

Django可以使用多种方式来编写和生成404页面。 AFAIK Django甚至可以在404错误期间渲染一些模板。

如果你想提供相同的页面,Django发送给你,你可以:

  • 发送每个失败的请求gunicorn(这可以杀死你的performance)。

  • 或生成一个失败的页面,将其存储在静态forms的某个地方(例如,用curl -o /var/www/errors/404.html http://your.site.com/404 ),并用

     location /404.html { alias /var/www/errors/404.html } error_page 404 /404.html; 

第一种方法将使您可以提供自定义的错误页面(关于缺less的URI)。 后一种方式会非常快速地传递错误页面,但是对于所有缺less的页面和URI,错误页面将是相同的。

这个select由你。