• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:lighttpd で sendfile failed)

lighttpdでsendfile failed

このQ&Aのポイント
  • Debian GNU/Linux etch Kernel-2.4.17 PowerPC環境で、lighttpd-1.4.13 (ssl) をaptにてインストールしました。
  • telnetでアクセスするとレスポンスヘッダだけ吐いてファイル本文の転送が行われず、真っ白なページになります。
  • エラーログには、sendfile failedというエラーメッセージが表示されています。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

エラーメッセージを見る限り、sendfileシステムコールを使ってファイル本文の転送を行おうとして、sendfileシステムコールが実装されていないために送信に失敗しているようです。実際、ファイル本文の転送の時にlighttpdが正常な処理をしていないことがわかると思います。 lighttpd.confに次の設定を追加し、sendfileシステムコールではなく、writeシステムコールでファイルを送信するようにさせてはいかがでしょうか? server.network-backend = "write" ...lightttpd 1.4.13のソースコードを見てこの設定をすれば何とかなりそうだと判断しただけで、本当にこれで治るかは保証できませんが。

yukari1995
質問者

お礼

早速のご回答、ありがとうございました。 ご指摘のとおり、/etc/lighttpd/lighttpd.confに server.network-backend = "write" を追記したところ、正常にファイル本文の転送を行うようになりました。 自分もhanabutakoさんのように、ソースコードを読んで自己解決できるよう努力せねばと実感しました。 本当にありがとうございました!