CIFSでマウントしたファイルがApacheで表示されない問題


Windows上のデータをCIFSにてマウントし、そのファイルをApacheにて表示する際に、ファイルが正常に読み込まれない問題が発生しました。

状況としては

  1. マウントしているディレクトリからtest.htmlを表示させようとしても表示しない。
  2. Apacheのログでは正常に読み込まれているが、読み込みファイルサイズがゼロ。
  3. test.htmlが256バイトよりも小さい(255バイト以下)であれば表示される。
  4. test.phpなど動的ファイルは256バイト以上でも表示される。
  5. SSLで読み込むと表示される。

しばらく原因を探しているたら見つかりました。

http://httpd.apache.org/docs/2.2/ja/mod/core.html

以下引用

ネットワークマウントされた DocumentRoot (例えば NFS や SMB) では、カーネルは自身のキャッシュを使ってネットワークからのファイルを 送ることができないことがあります。
これらの問題に当てはまるサーバの設定の場合は、以下のようにして この機能を使用不可にしてください:

EnableSendfile Off

この「EnableSendfile Off」を書いたら表示されました。

The following two tabs change content below.

いしかわ

まだまだ広く浅く勉強中のエンジニア。得意分野はラーメン。

Comments are closed.