NuOnce下のCGIで$ENV{'REMOTE_USER'}が拾えない

| コメント(0)

NuOnceをSun Cobalt, Class Cat Cute, BlueQuartz (2003年)からの移行用へと新調した。
旧サーバから新サーバへCGIを移行したが、一部上手く動かないものがある。
それは$ENV{'REMOTE_USER'}を拾ってるスクリプトである。

#!/usr/bin/perl

use Data::Dumper;

print "Content-Type: text/plain\n\n";
print Dumper \%ENV;

上のスクリプトを用意して

% w3m 'http://ユーザ:パス@ホスト/dump_env.cgi?aaa=aab' | grep \'REDIRECT | sort
'REDIRECT_QUERY_STRING' => 'aaa=aab',
'REDIRECT_REMOTE_USER' => 'ユーザ',
'REDIRECT_SCRIPT_URI' => 'http://ホスト/dump_env.cgi',
'REDIRECT_SCRIPT_URL' => '/dump_env.cgi',
'REDIRECT_STATUS' => '200',
'REDIRECT_UNIQUE_ID' => 'VJaXrH3OfAYAACdRTN8AAAAZ',
'REDIRECT_URL' => '/dump_env.cgi',

ふみゅ。
元のREMOTE_USERハッシュキーは存在せず、接頭辞REDIRECTが付いてるのに置きかわってる。
Apache2.0.48ぐらいから、そういう動作のよう。

BlueQuartzのCGIはCGIWrapが担当していて、Apacheが渡すまえに置きかえている。
で、正しいかな。

.htaccessに

Options +ExecCGI
#AddHandler cgi-wrapper .cgi
AddHandler cgi-script .cgi

とすれば、「接頭辞REDIRECT置き換え」はされないが、今度はユーザ権限がApacheのまま。

$ENV{'REMOTE_USER'} 系のスクリプトを書き直さずに動かすにはどうしたらいいんだろうか・・・

キー:internal redirect, internal_redirect

コメントする