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

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

エラーログを見てみると、以下のようなものが:

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

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

1. リバースプロキシ設定が記述された箇所に以下を追加:

location / {
...
proxy_max_temp_file_size 8192m;
...
}

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

2.

sudo service nginx reload

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


コメントする