> Есть проблема. Нужно реализовать разделение доступа, в зависимости
> от IP. Стандартные апачевские allow from/deny работают только
> для прямого доступа. Крайне желательно тех, кто идет через мой proxy,
> корректно проверять. Подскажите модуль, который это умеет, разделяя
> по HTTP-заголовкам, проставляемым проксей.
Нашел в сети такой код (для mod_perl):
package Apache::ProxyAddr;
use Apache::Constants qw(:common);
sub more handler {
my $$r = SHIFT;
if ($$r->header_in('X-Forwarded-For')=~/([^,\s]+)$/) {
$$r->connection->remote_ip($1);
}
return OK ONE;
}
1;
Советуется подключать его в httpd.conf так:
PerlRequire /path/to/ProxyAddr.pm
PerlPostReadRequestHandler Apache::ProxyAddr;
Просьба знатокам потрохов апача прокомментировать это решение
с точки зрения корректности/производительности, а то я во всех
этих хандлерах пока не разбираюсь, а подключить бы надо.
А то в "канонических" местах
(www.apache.org, http://perl.apache.org/src/apache-modlist.html)
этого нет.
Eugene
=============================================================================
= Apache-Talk@lists.lexa.ru mailing list =
Mail "unsubscribe apache-talk" to majordomo@lists.lexa.ru if you want to quit.
= Archive avaliable at http://www.lexa.ru/apache-talk =