從我的 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 文檔

相關內容