0

Apache を使用して mod_wsgi デーモン モードで実行されている SessionMiddleware を使用する django アプリケーションがあります。私の Apache 構成には、パフォーマンスのために標準の mod_deflate 構成と mod_cache/mod_disk_cache も含まれています。

私の問題は、django の SessionMiddleware によって設定された Vary: Cookie が mod_cache によって正しく認識されないことです。mod_cache は、リクエスト Cookie は異なりますが、キャッシュされたバージョンのページを提供しています。mod_deflate を削除すると問題が解決します。Vary: Cookieを mod_headers を使用してApacheに設定すると (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 に答える