Russian Apache Switch to English
Switch to Russian koi8-r
windows=1251
cp-866
iso8859-5
Russian Apache Как это работает Рекоммендации Где взять Как установить Как настроить Статус и поддержка
Краткий обзор FAQ Список рассылки Благодарности Поиск по серверу Powered by Russian Apache
Russian Apache mailing list archive (apache-rus@lists.lexa.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [apache-talk] X-Forwarded-For



> Есть проблема. Нужно реализовать разделение доступа, в зависимости
> от 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@xxxxxxxxxxxxx mailing list                      =
Mail "unsubscribe apache-talk" to majordomo@xxxxxxxxxxxxx if you want to quit.
=       Archive avaliable at http://www.lexa.ru/apache-talk                 =






Спонсоры сайта:

[ Russian Apache ] [ Как это работает ] [ Рекомендации ] [ Где взять ] [ Как установить ] [ Как настроить ] [ Статус и поддержка ] [ Краткий обзор ] [ FAQ ] [ Список рассылки ] [ Благодарности ] [ Поиск по серверу ] [ Powered by Russian Apache ] [ Apache-talk archive ]

"Russian Apache" includes software developed by the Apache Group for use in the Apache HTTP server project (http://www.apache.org/) See Apache LICENSE.
Copyright (C) 1995-2001 The Apache Group. All rights reserved.
Copyright (C) 1996 Dm. Kryukov; Copyright (C) 1997-2009 Alex Tutubalin. Design (C) 1998 Max Smolev.