kikukawa's diary

都内で活動するシステムエンジニアが書いてます。 興味を持った技術やハマったポイント、自分用メモをつけてます。 最近はweb中心

Nginxで画像のアップロードに失敗する(413 Request Entity Too Large)

Nginx + passenger + Rails
画像アップロード機能を作っていた時に、
下記のエラー(ブラウザのコンソールに表示)に遭遇しました。

413 Request Entity Too Large

原因は、Nginxが受け取れるクライアントからの
リクエストのbodyサイズが小さかったこと。
その値を決めるのがclient_max_body_sizeで、
デフォルト1Mまでのようです。
1Mだと、大きめの画像はアップロードできませんでした。
以下のようにserverディレクティブに書きます。

server {
  listen 80;
  server_name localhost;
  access_log  logs/access_log  main;
  error_log  logs/error_log;
  client_max_body_size 5M;
  location / {
    root /path/to/doc_root;
  }
  error_page  403 404 500 502 503 504  /404.html;
  location = /404.html {
      root   html;
  }
}

参考 参考