0

我有一个 django 应用程序,它使用 SessionMiddleware 在 Apache 的 mod_wsgi 守护程序模式下运行。我的 Apache 配置还包含标准的 mod_deflate 配置和 mod_cache/mod_disk_cache 以提高性能。

我的问题是 django 的 SessionMiddleware 设置的 Vary: Cookie 没有被 mod_cache 正确识别,尽管请求 cookie 不同,但它正在提供页面的缓存版本。删除 mod_deflate 可以解决问题。Setting Vary: 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

4

1 回答 1

1

作为第一步,使用:

http://code.google.com/p/modwsgi/wiki/DebuggingTechniques#Tracking_Request_and_Response

验证 WSGI 应用程序实际输出的内容并传递给 mod_wsgi。

我想不出 mod_wsgi 会导致问题的任何原因,听起来更像是 Apache 输出过滤器排序的问题。

顺便说一句,这是在 mod_wsgi 邮件列表上更好处理的问题。通过 StackOverflow 调试问题很糟糕。

于 2011-08-24T23:42:48.630 回答