Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: как ограничить чис ло одновременных сое динений по сетевой ма ске
попробуйте ограничивать на уровне TCP/IP
средствами ОС
On 14.02.2008, at 17:34, Igor Sysoev wrote:
On Thu, Feb 14, 2008 at 04:21:53PM +0200, Vladimir Fursin wrote:
Thursday, February 14, 2008, 12:31:11 PM, you wrote:
On Thu, Feb 14, 2008 at 05:20:59AM -0500, Denis S. Filimonov wrote:
Может это и не очень хорошее
решение, но нечто подобное у меня
работает.
limit_zone one $my_addr 32k;
server {
if ($remote_addr ~ "^(\d+\.\d+\.\d+)") {
set $my_addr $1;
}
limit_conn one 1;
}
Ещё вариант:
if ($binary_remote_addr ~ "^(...)") {
Спасибо за решения, но мне нужно
дифференцированные ограничения,
т.е. подсети разных клиентов должны
ограничиваться по-разному.
Какая подсеть и какое для нее
ограничение становится известно в
php-скрипте на бэкэнде после обработки
$uri. Может ли как то
апач передать эти значения в
переменные конфига nginx, чтобы
"на обратном пути" использовать их
для задания ограничения?
Нет.
Если нет, то мне, скорее всего, вообще
придется отказаться от
использования апача, а обрабатывать
$uri прямо в конфиге
встроенным perl. Но тогда все равно
остается вопрос - как
через переменную установить к-во
соединений в limit_conn.
Это возможно?
Нет. Маскисмальное число соединений
статично.
--
Игорь Сысоев
http://sysoev.ru
|