いうていけろ

hideo54のブログ

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

執筆日: 2015年9月23日
最終更新日: 2015年9月23日

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

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

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

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

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

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

  • sudo service nginx reload

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