我用mod_wsgi在Apache2中部署了一个WSGI应用程序。
如果用户在表单中提供的数据无效,则应用程序将以400响应代码进行响应。 该响应还包含带有高亮显示的表单和无效字段的HTML,以便用户可以更正数据。
这完美地使用像Waitress这样的开发服务器。 但是,当用相当标准的configuration在Apache中部署时, Apache吞噬HTML,从而妨碍了客户纠正他/她的错误的能力。
有没有办法configurationApache,以便错误消息来自WSGI应用程序?
它应该默认总是回传WSGI应用程序的响应。
否则只有两种方式可以看到。
首先是你正在使用mod_wsgi守护进程模式,并为mod_wsgi设置了一个obscure指令,这个指令甚至都没有在mod_wsgi文档中列出,名为WSGIErrorOverride。 这将允许Apache本身覆盖任何指定了ErrorDocument指令的错误响应。
第二个是你安装了一些特殊的Apache模块,它实现了一个输出filter,当它看到某些HTTP错误响应时,它正在replace响应。
实际上我现在没有任何标准的Apache模块,虽然技术上是可行的。 你是否可以在同一个Apache安装上运行PHP,因为它可以作为输出filter运行,我猜测它可能被设置为覆盖响应。
无论如何,你能描述一下Apacheconfiguration中的mod_wsgi部分吗?