
私は 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
さらに詳しい情報については、 を確認してください。拡張子からMIMEタイプへのマッピングを含むファイルも/etc/apache2/mods-enabled/mime.conf
確認する必要があるかもしれません。さらに詳しい情報については、公式の/etc/mime.types
Apache mod_mime ドキュメント。