Django 1.11に基づくかなり複雑なWebアプリケーションがあります。 しばらく前に、ユーザーは「他人の意見」を受け取っていると報告し始めました。memcachedは、デコレータ@cache_page(xx)
によってキャッシュされたhtmlをキャッシュ猶予期間内のセッション間で区別せずに提供しました。DjangoがありませんVary:キャッシュされたビューのCookieヘッダー
さらなる調査の結果、あるケースではVary: Cookie
ヘッダーが見つからず、「セッション」が間違っていることが判明しました。奇妙なことに、バックエンドにcurl(セッションがなく、ユーザーなど - >バックエンドがキャッシュされたビューでログに記録されている)を照会したときだけを示しました。
残念ながら、この問題は実際には再現するのが難しく、時には発生しないこともあります。私は何か原因を確認できるかどうかを確認するために、単純なDjangoアプリケーションを最初から構築します。 @cache_page
が削除された場合、またはlogin_required
が追加された場合に問題が発生しないことが確認されました。
ビューからすべての@cache_pageデコレータを削除してしまいました。問題はプロダクションでは発生していませんでしたが、回避策であり、原因を知りたいと思います。
誰かが何らかの原因が考えられる場合は、大変感謝しています。
これは可能性があります。洞察力ありがとうございます。 – Brachacz