REMOTE_HOST

環境変数REMOTE_HOSTが、どうしてもPerlで使えない。なぜだ…
ということで調べてみました。

使ってるサーバのOSは、FreeBSD 5.2.1-Release。

で、結論からいっちゃえば、

CGI環境変数 REMOTE_HOST を参照する場合、 弊社のWWWサーバでは負荷を抑えるために、標準では REMOTE_HOSTを参照できない設定にさせていただいております。 参照したい場合は perlスクリプトの先頭に以下の文を挿入してください。

#!/usr/local/bin/perl
if ($ENV{'HTTP_X_FORWARDED_FOR'} =~
/[12]?\d{1,2}(\.[12]?\d{1,2}){3}$/) {
$ENV{'REMOTE_ADDR'} = $&;
}
$ENV{'REMOTE_HOST'} =
gethostbyaddr(pack('C4', split('\.', $ENV{'REMOTE_ADDR'})), 2)
unless ($ENV{'REMOTE_HOST'});

これをスクリプトの前に書き込んだら出来た。
FreeBSD 5.2.1-Releaseは、REMOTE_HOSTを無効化してるってこと?