从我的 Ubuntu 服务器下载的文件似乎被视为文本,无论其类型如何 - 如何修复?

从我的 Ubuntu 服务器下载的文件似乎被视为文本,无论其类型如何 - 如何修复?

我在 x86 机器上运行 Ubuntu 服务器 10.04.1,一切似乎正常,但是,我还安装了 apache2 和 proftpd,并根据文档对它们进行了配置。

我在下载非文本文件(二进制文件、图像等)时遇到问题,它们似乎被视为文本,导致客户端计算机收到不可用的文件。我在服务器上尝试了 vsftpd 和当前的 proftpd,结果相同。使用 http(从 Apache 服务器)下载文件时也会出现同样的情况。我尝试删除 ufw(防火墙)并重新启动,但没有任何效果。问题似乎出在 Ubuntu 本身,这是一个严重的问题,因为它使这台机器无法用作 Web 服务器。

有没有什么解决办法?是什么?

答案1

如果您不理会它,Apache 会配置为执行正确的操作。它会确定文件的内容并提供正确的 MIME 类型。请尝试以下操作:

  • 使用常见文件类型的示例文件:JPEG。
  • 检查服务器是否确实返回了错误的 MIME 类型。为此,请在本地使用 curl,例如:

    curl -I http://localhost/file.jpg

    MIME 类型应该出现在标题中。

  • 改回默认配置(Ubuntu 软件包中的配置)。Apache 配置可能有点难以正确设置。将文件放入 www(可能/var/www

  • 从已知良好配置逐渐转变为已知不良配置。这样你就能找出自己失误的地方。

您所遇到的困难proftpd可能完全是另外一个问题。

答案2

也许 Apache“mime”模块未启用?尝试启用它:

sudo a2enmod mime

然后检查您/etc/apache2/mods-enabled/mime.conf的文件以了解更多详细信息。您可能还需要检查/etc/mime.types文件,其中包含从扩展名到 MIME 类型的映射。有关更多详细信息,请参阅官方Apache mod_mime 文档

相关内容