読者です 読者をやめる 読者になる 読者になる

lighttpd で FastCGI を index-file.names として指定しても Not Found になってしまう

lighttpd
  index-file.names = ( "index.fcgi" )

  fastcgi.server = (
    "/index.fcgi" => (
       "portal" => (
          "socket" => "/var/lib/lighttpd/fastcgi/index.fcgi.socket",
          "bin-path" => "/www/portal.cgi",
          "check-local" => "disable",
          "min-procs" => 1,
          "max-procs" => 1,
          "max-load-per-proc" => 50
       )
    )
  )

上記のように / を index.fcgi で受けようと設定したが、Not Found 404 になってしまった。ここでダミーのファイル index.fcgi を置くと動くようになる。
つまり、index-file が存在するかの確認は fastcgi.server のマッチングを判定しておらず、実際のファイルを見にいってしまう。bin-path とマッチが同じになっていれば気づかない。
Apache から lighttpd に乗り換え中だが結構いろいろ引っかかってくる。