かずひこです。

apache-1.3.26 から httpd-2.0.44 に移行して以来、eruby で REMOTE_USER 環
境変数を取得できなくなってしまいました。試しに、以下のようなスクリプトを
httpd 経由で呼び出してみると、

$ cat 1.rb
#!/usr/bin/env ruby
require 'cgi'
@cgi = CGI::new
print "Content-Type: text/plain\n\n"
ENV.each do |key,value|
  print "#{key}\n"
end

$ cat 1.rhtml
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="ja">
<head><title>hoge</title></head>
<body>
<p>
<%
require 'cgi'
@cgi = CGI::new
ENV.each do |key,value|
  print "#{key}<br>\n"
end
%>
</p>
</body>
</html>

$ cat .htaccess
AddType application/x-httpd-eruby .rhtml
Action application/x-httpd-eruby /cgi-bin/eruby.cgi
AddHandler cgi-script .rb .cgi
<Files "*">
  AuthName      hoge
  AuthType      Basic
  AuthUserFile  /home/hoge/.htpasswd
  Require user  hoge
</Files>

$ eruby --version
eRuby version 1.0.2
ruby 1.6.8 (2002-12-24) [i586-linux]

● eruby にだけないもの
AUTH_TYPE
REMOTE_USER

● eruby にだけあるもの
PATH_INFO
PATH_TRANSLATED
REDIRECT_STATUS
REDIRECT_UNIQUE_ID
REDIRECT_URL
SERVER_SIGNATURE

となりました。

そのため、apache-1.3.26 時代に REMOTE_USER を使う eruby スクリプトを書い
ていたのですが、それが使えなくなってしまいました。

なお、access_log は、こんな感じです。
127.0.0.1 - - [19/Feb/2003:20:14:20 +0900] "GET /~hoge/1.rb HTTP/1.0" 401 1252 "-" "w3m/0.3.2.2"
(↑アクセス直後。ここで認証を要求される)
127.0.0.1 - hoge [19/Feb/2003:20:14:24 +0900] "GET /~hoge/1.rb HTTP/1.0" 200 322 "-" "w3m/0.3.2.2"
(↑認証直後のログ)
127.0.0.1 - - [19/Feb/2003:20:14:13 +0900] "GET /~hoge/1.rhtml HTTP/1.0" 200 650 "-" "w3m/0.3.2.2"
(↑アクセス直後。ここで認証を要求される)
(認証後もログ増えず ←というのがとても気になる...)

原因など、なにかご存じの方がいらっしゃれば、ぜひよろしくお願いします。
-- 
かずひこ <http://www.fdiary.net/~kazuhiko/diary/>
  ★シャア「名字が付いてない」
  ☆一兵卒「あんなの飾りです。偉い人にはそれが分からんのです」