如何从wsgi应用返回apache错误页面?

4 投票
1 回答
1371 浏览
提问于 2025-04-16 04:00

我有一个简单的WSGI应用程序,它可以成功返回我想要的任何HTTP状态码、头信息和HTML内容。现在我想做的是,当我返回的状态码不是'200 OK'时,希望WSGI能够让Apache使用它自己的错误处理方式,显示根据'ErrorDocument'设置配置的页面。

举个例子,当我的WSGI应用程序意外崩溃时,这个功能就很好用,那时我会看到Apache默认的'内部服务器错误'页面。

我想问的是,如何能以一种可控和有意的方式做到这一点?比如说,我可以先进行自己的身份验证,然后再回退到我设置的默认Apache页面。

有没有什么好的想法?

1 个回答

5

假设你是想在Apache服务器下使用mod_wsgi,确保你使用的是mod_wsgi的守护进程模式,并设置:

WSGIErrorOverride On

在mod_wsgi 3.0的发布说明中有简单提到这一点。

http://code.google.com/p/modwsgi/wiki/ChangesInVersion0300

如果你是把Apache当作代理,前面放着一个独立的Python网络服务器在运行WSGI应用,那就要使用Apache的ProxyErrorOverride指令。

撰写回答