我有一个django应用程序,使用在Apache的mod_wsgi守护进程模式下运行的SessionMiddleware。我的Apache配置还包含标准的mod_deflate配置和mod_cache / mod_disk_cache以提高性能。
我的问题是django的SessionMiddleware设置的Vary:Cookie没有被mod_cache正确识别,mod_cache提供页面的缓存版本,尽管请求cookie不同。删除mod_deflate可以解决问题。设置变化: Apache 中的Cookie与mod_headers(无论django中间件)还修复了问题(这是我的临时解决方法)。
我注意到,在玩这个时,似乎有些情况下mod_wsgi应用程序中设置的标头未被后来的某些Apache模块正确识别,这对任何人都意味着什么?
我有非常标准的wsgi(附加)和Apache配置,如果有任何其他数据可以帮助我,请告诉我。我正在运行股票ubuntu natty libapache2-mod-wsgi 3.3-2ubuntu2,Apache 2.2.17,django 1.3
答案 0 :(得分:1)
首先,使用:
http://code.google.com/p/modwsgi/wiki/DebuggingTechniques#Tracking_Request_and_Response
验证实际来自WSGI应用程序的内容并传递给mod_wsgi。
我想不出mod_wsgi会导致问题的原因,听起来更像是Apache输出过滤器排序的问题。
顺便说一句,这是mod_wsgi邮件列表上更好处理的问题。通过StackOverflow调试问题很糟糕。