Работа с ип адресом
xoper
nginx-forum на nginx.us
Вт Ноя 1 16:55:44 UTC 2011
Доброго времени суток.
Столкнулся с такой проблемой, сервер
находится под ДДОС атакой уже
несколько суток, вроде эту проблему
победили на уровне nginx'a следующим
образом:
раз в 15 минут парсится access.log и
выбираются плохие адреса с занесением
в файл в виде
ип_адрес 1;
в конфиге нгинкса прописано так:
http
{
..........
geo $remote_addr $ip_blocklist_out {
default 0;
include /home/test/ddos_ip;
}
server{
................
if ($ip_blocklist_out = 1){
rewrite ^/(.*) /index_ddos.htm last;
return 403;
}
..............
}
}
Все работает LA с 66 упал до привычных 0.5
но попались юзеры, у которых оказался
хитрый провайдер:
вместо $remote_addr подставляется "общий ип",
а ип адрес пользователя прописывается
в $http_x_forwarded_for, следовательно
конструкция банит всю подсеть
провайдера по $remote_addr.
Так вот вопрос в следующем, как при
наличии ип адреса в $http_x_forwarded_for
учитывать его в geo фильтре а при
отсутствии использовать $remote_addr.
Спасибо.
Posted at Nginx Forum: http://forum.nginx.org/read.php?21,217662,217662#msg-217662
Подробная информация о списке рассылки nginx-ru