nginxはupstream_cache_status:UPDATINGのときにstatus:500を返します。

nginxはupstream_cache_status:UPDATINGのときにstatus:500を返します。

私が使うプロキシキャッシュの使用期限更新中属性。

ログで $upstream_cache_status UPDATING 値を grep で検索したところ、一致が多数見つかりましたが、この状況を再現できません。

$upstream_cache_status で UPDATING につながる条件の作成を手伝っていただけますか? これは、クライアントに 200 ではなく 500 が返される理由を調べるための最初のステップです。

通常のログ ラインは次のようになります。

... "GET / HTTP/1.1" 500 1208 "-" ... - - upstream_cache_status:UPDATING

したがって、エラー コード 500 がクライアントに返されました ;( ドキュメントによると、これはキャッシュされたページであり、コードは 200 であるはずです。

この問題の原因は何でしょうか?

nginx キャッシュ ディレクトリに十分なスペースがあり、その中のファイルが外部ユーティリティによって管理されていないことを確認しました。エラー ログにはエラーはありません。

関連情報