2026年5月23日
2026年5月23日
Nginxのclient_max_body_sizeを調整してファイルアップロードを許可する方法
はじめに
ファイルのアップロード機能を持つウェブサイトを運営している場合、大きなファイル(例えば、高解像度の画像や動画)をアップロードしようとした際にエラーが発生することがあります。その原因はNginxのclient_max_body_sizeパラメータが設定値に達したためにアップロードを拒否している可能性があります。この記事では、client_max_body_sizeを調整してファイルアップロードを許可する方法について説明します。
症状・背景
ファイルアップロードに失敗する主な場面:
- 大きなファイル(例えば、50MB以上の画像や動画)をアップロードしようとしたときにエラーメッセージが表示される。
- WordPressで新しい投稿を作成しようとしたが、アップロードプロセスが中断される。
手順・設定方法
ステップ1: 現状確認
# Nginxのコンフィギュレーションファイルを確認します。
sudo nano /etc/nginx/nginx.conf
このコマンドでNginxの主コンフィギュレーションファイルが開かれます。client_max_body_sizeパラメータが設定されているか確認します。
ステップ2: client_max_body_sizeを調整
# client_max_body_sizeパラメータを適切なサイズに設定します。
sudo nano /etc/nginx/sites-available/default
# 以下のように指定します。必要に応じて値を調整してください。
client_max_body_size 100M;
ステップ3: Nginxの再起動
# Nginxを再起動して設定を適用します。
sudo systemctl restart nginx
ステップ4: 実践/トラブルシュート/監視
# Nginxのエラーログを確認します。ファイルは通常、/var/log/nginx/error.logにあります。
sudo tail -f /var/log/nginx/error.log
注意事項
- セキュリティ上の注意: 大きなファイルサイズを許可することで、DDoS攻撃やファイルインジェクションのリスクが高まる可能性があります。適切なアクセス制御と監視を実施することをお勧めします。
- パフォーマンス/運用上の注意: ファイルサイズを大きく設定するとサーバーのリソース(メモリや帯域)を大量に消費する可能性があります。必要最小限の値で設定し、定期的に監視することをお勧めします。
まとめ
1. 現状確認: Nginxコンフィギュレーションファイルを確認します。
2. client_max_body_size調整: アップロードできる最大ファイルサイズを設定します。
3. Nginx再起動: 設定を有効にするためにNginxを再起動します。
4. 監視: Nginxのエラーログを定期的に確認して問題がないかチェックします。
関連記事: