大容量ファイルをダウンロードすると、サーバーが誤ったファイルサイズを報告する

大容量ファイルをダウンロードすると、サーバーが誤ったファイルサイズを報告する

OS X Webサーバーには、sshfsを介してアップロードされた大容量のtarballファイルがあります。アップロード前にコンピュータにあったファイルサイズは5345834658バイトでした。サーバーにコピーされたファイルのサイズは5345834658バイトで、すべてが正しいようです。ファイルをサーバー上の他の場所にコピーしても5345834658バイトです。

問題は、ファイルをダウンロードしようとするときです。 Firefoxダイアログには「Gzipアーカイブ(1.0GB)」が表示され、ダウンロードされたファイルはわずか1050867362バイトです。ローカルコンピュータまたはサーバー自体からカールを使用してファイルをダウンロードすると、1050867362バイトのみが得られます。

最大ファイルサイズを制限するようにWebサーバーを構成しようとしています。この問題を解決する方法はありますか?部分を再結合する方法がある場合は、サーバーからファイルを分割することもできますが、大容量ファイルをダウンロードできることを本当にお勧めします。最大ファイルダウンロードサイズを制限する理由はありますか?

ベストアンサー1

HTTPサーバーを介して取得するファイルのサイズは、まさに5345834658 mod 4294967296の残りの部分です。これは、Webサーバーが32ビット整数をオーバーフローし、残りをファイルサイズとして使用したことを意味します。

大容量ファイル(> 4GiB)をサポートするWebサーバーにアップグレードする必要があります。

おすすめ記事