[ruby-dev:24241] :DocumentRoot => "." with WEBrick

From: Tanaka Akira <akr@...17n.org>
Date: 2004-09-09 11:47:00 UTC
List: ruby-dev #24241
ふと気がついたのですが、WEBrick で :DocumentRoot => "." とすると、CGI
の実行に失敗することがあるようです。

% cat d/tst.cgi
#!/bin/sh
cat <<'End'
Content-Type: text/plain

tst
End
% ruby -rwebrick -e '
  httpd = WEBrick::HTTPServer.new(:DocumentRoot => ".", :Port => 10080)
  trap(:INT){ httpd.shutdown }
  httpd.start
'
[2004-09-09 20:33:47] INFO  WEBrick 1.3.1
[2004-09-09 20:33:47] INFO  ruby 1.9.0 (2004-09-08) [i686-linux]
[2004-09-09 20:33:47] WARN  TCPServer Error: Address family not supported by protocol - socket(2)
[2004-09-09 20:33:47] INFO  WEBrick::HTTPServer#start: pid=7272 port=10080 

ここで http://localhost:10080/d/tst.cgi にアクセスすると、

[2004-09-09 20:44:58] ERROR CGIHandler: ./d/tst.cgi:
/home/akr/ruby/tmp-ruby/lib/ruby/1.9/webrick/httpservlet/cgi_runner.rb:45:in `exec': No such file or directory - ./d/tst.cgi (Errno::ENOENT)
        from /home/akr/ruby/tmp-ruby/lib/ruby/1.9/webrick/httpservlet/cgi_runner.rb:45

[2004-09-09 20:44:58] ERROR CGIHandler: ./d/tst.cgi exit with 1
[2004-09-09 20:44:58] ERROR Premature end of script headers: ./d/tst.cgi
serein - - [09/Sep/2004:20:44:58 JST] "GET /d/tst.cgi HTTP/1.0" 500 325
- -> /d/tst.cgi

というエラーになってしまいます。

これは意図された挙動でしょうか?
-- 
[田中 哲][たなか あきら][Tanaka Akira]

In This Thread

Prev Next