サーバーに結果を保存する空き容量がありません。
使いどころ
ディスクがいっぱいか、ストレージの割り当て上限に達しました。
よくある原因と対処法
サーバーがリクエストに必要なデータを保存できません。よくある原因は、ディスクやボリュームがいっぱい、ユーザーのストレージクォータを使い切った(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 / Express | res.status(507).end() |
|---|---|
| Python / Flask | return '', 507 |
| nginx | return 507; |
確認方法
curl -s -o /dev/null -w "%{http_code}\n" https://example.com/