507 Insufficient Storage

サーバーに結果を保存する空き容量がありません。

使いどころ

ディスクがいっぱいか、ストレージの割り当て上限に達しました。

よくある原因と対処法

サーバーがリクエストに必要なデータを保存できません。よくある原因は、ディスクやボリュームがいっぱい、ユーザーのストレージクォータを使い切った(Nextcloud と ownCloud はその場合に 507 を返します)、あるいは df では空き容量があるのにファイルシステムの inode が尽きた、などです。サーバーで df -h と df -i を実行して確認し、肥大化したログファイルや放置された一時アップロードを探してください。

クライアントではなく、容量の問題を解決してください。logrotate でログをローテーションして圧縮する、docker system prune で未使用の Docker イメージを削除する、一時アップロード用のフォルダーを掃除する、あるいはクォータを引き上げます。容量が空くまで再試行しても無駄です。多くのアプリはディスクの空き不足を一般的な 500 として報告するので、書き込みが失敗し始めたら必ずディスク使用量を確認し、100% になるずっと前にアラートを出しましょう。

サーバーエラー (5xx)

5xx はサーバーエラーです。リクエストに問題がなくても、サーバーやその背後の何かが失敗しています。アラートを設定しておく価値があります。

レスポンスでの表示

HTTP/1.1 507 Insufficient Storage

返し方

Node.js / Expressres.status(507).end()
Python / Flaskreturn '', 507
nginxreturn 507;

確認方法

curl -s -o /dev/null -w "%{http_code}\n" https://example.com/

HTTP ステータスコードを開く