Apache - 大型 zip 文件传输损坏
Apache - Large zip file transfer corruption
我在 Ubuntu 上有一个 Apache 服务器 运行 托管一些可供下载的文件。托管的文件是已安装的 nas 驱动器。
我发现当我尝试通过网络服务器下载 100MB 以上的大型 zip 文件(.zip、.7z)时,传输的文件已损坏。我用来检查文件的方法是执行 MD5 计算。我还发现文件大小与损坏的可能性相关;文件越大,腐败的可能性就越大。 mount好像没问题,因为我把文件从NAS传到机器上没有任何问题
我在 windows 上也有 IIS 运行 托管相同的文件。当我通过这个网络服务器下载文件时,从来没有损坏。这让我觉得网络本身没问题。
我正在通过 Chrome 下载文件。
我不确定哪里出了问题,但我相信这与 Apache 的某些配置有关。如何提高 Apache 上的文件传输可靠性?还是有其他可能的问题原因?
这是一个 Apache 配置问题。
中找到了解决方案
将 EnableSendfile On
添加到 apache2.conf
文件修复了大型 zip 文件的损坏问题。 Apache 2.4 默认关闭此配置,而 Apache 2.2 默认打开。
我在 Ubuntu 上有一个 Apache 服务器 运行 托管一些可供下载的文件。托管的文件是已安装的 nas 驱动器。
我发现当我尝试通过网络服务器下载 100MB 以上的大型 zip 文件(.zip、.7z)时,传输的文件已损坏。我用来检查文件的方法是执行 MD5 计算。我还发现文件大小与损坏的可能性相关;文件越大,腐败的可能性就越大。 mount好像没问题,因为我把文件从NAS传到机器上没有任何问题
我在 windows 上也有 IIS 运行 托管相同的文件。当我通过这个网络服务器下载文件时,从来没有损坏。这让我觉得网络本身没问题。
我正在通过 Chrome 下载文件。
我不确定哪里出了问题,但我相信这与 Apache 的某些配置有关。如何提高 Apache 上的文件传输可靠性?还是有其他可能的问题原因?
这是一个 Apache 配置问题。
中找到了解决方案将 EnableSendfile On
添加到 apache2.conf
文件修复了大型 zip 文件的损坏问题。 Apache 2.4 默认关闭此配置,而 Apache 2.2 默认打开。