lighttpd で FastCGI を index-file.names として指定しても Not Found になってしまう
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 に乗り換え中だが結構いろいろ引っかかってくる。