いうていけろ

hideo54のブログ

トップページ

リバースプロキシしたnginxで1GB以上の大きいファイルをダウンロードできない時の対処法

2015年9月23日

この記事は最終更新から半年以上経過しており、内容が古い可能性があります。

nginxproxy

リバースプロキシを設定したnginxを経由して、リバースプロキシ先のホストから大容量のファイルをダウンロードしようとすると、なぜか1GBで途切れるという問題に遭遇した。 エラーログを見てみると、以下のようなものが:

2015/09/22 03:27:13 [error] 3681#0: *51516 upstream prematurely closed connection while reading upstream, (以下略)

謎だったが、googlingの果てに以下の方法で解決:

  • リバースプロキシ設定が記述された箇所に以下を追加:
location / {
...
proxy_max_temp_file_size 8192m;
...
}

許可する最大のファイルサイズを指定する。僕は8GB=8192MBを指定。

  • sudo service nginx reload

参考: Optimizing Nginx for serving files bigger than 1GB