ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

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

Re: Проблема frontend-backend



Дмитрий wrote:
Господа, на эту тему возникла еще одна проблема...
vBulletin говорит, что все юзера зашли с одного IP: 127.0.0.1
в следствии чего невозможно авторизироваться... Превышено количество попыток
авторизации :)
в конфиге указанно:
            proxy_set_header   Host             $host;
            proxy_set_header   X-Real-IP        $remote_addr;
            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
phpinfo() все показывает правильно, а вот считалка одновременно сидящих на
сайте http://www.2baksa.net показывает 1 юзера (стопудово 127.0.0.1)
А какой версии vbb? У нас нормально это обрабатывает вот такой хреновиной:
        /**
* Fetches an alternate IP address of the current visitor, attempting to detect proxies etc.
        *
        * @return       string
        */
        function fetch_alt_ip()
        {
                if (isset($_SERVER['HTTP_CLIENT_IP']))
                {
                        $alt_ip = $_SERVER['HTTP_CLIENT_IP'];
                }
else if (isset($_SERVER['HTTP_X_FORWARDED_FOR']) AND preg_match_all('#\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}
#s', $_SERVER['HTTP_X_FORWARDED_FOR'], $matches))
                {
// make sure we dont pick up an internal IP defined by RFC1918
                        foreach ($matches[0] AS $ip)
                        {
if (!preg_match("#^(10|172\.16|192\.168)\.#", $ip))
                                {
                                        $alt_ip = $ip;
                                        break;
                                }
                        }
                }
                else if (isset($_SERVER['HTTP_FROM']))
                {
                        $alt_ip = $_SERVER['HTTP_FROM'];
                }
                else
                {
                        $alt_ip = $_SERVER['REMOTE_ADDR'];
                }

                return $alt_ip;
        }
}

Но было дело пару (или больше? точно не помню) лет назад, приходилось его хачить на эту тему. Как раз когда я mod_accel впервые поставил, сразу и напоролся на такое недостойное поведение vbb :-)



 




Copyright © Lexa Software, 1996-2009.