
我在 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 文檔。