Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Работа с ип адресом
- To: nginx-ru@xxxxxxxxx
- Subject: Работа с ип адресом
- From: "xoper" <nginx-forum@xxxxxxxx>
- Date: Tue, 01 Nov 2011 12:55:44 -0400
- Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mickey.jlkhosting.com; s=x; h=Date:Sender:From:Message-ID:Content-Transfer-Encoding:Content-Type:Subject:To; bh=MV7PyJJOne1sffmRSLVbMUuFv/3yTAD9OH3KldSr4hE=; b=pHk6dh+/cIw+eV8fCyPOBPaEzZRlbcztjRlKfD4HfhirItL0WqQcKbMyerz85Tpc4cYnBHRtnfuN4pleQ+Qifu7njs2m+7N+UT37waZRERrqX42NRcX6k00F4LlnavK4;
Доброго времени суток.
Столкнулся с такой проблемой, сервер
находится под ДДОС атакой уже
несколько суток, вроде эту проблему
победили на уровне 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 mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
|