Проблема frontend-backend
Andrey N. Oktyabrski
ano at antora.ru
Mon Mar 13 08:39:45 MSK 2006
Дмитрий 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 :-)
More information about the nginx-ru
mailing list