Re: как ограничить число одновременных соединений по сетевой маске
Alexey V. Karagodov
kav at karagodov.name
Thu Feb 14 19:54:29 MSK 2008
попробуйте ограничивать на уровне 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
>
More information about the nginx-ru
mailing list