Re: Ограничение на число исходящих соединений

Сергей Пузырёв spuzirev на gmail.com
Ср Окт 14 14:40:19 UTC 2015


коннекты на 127.0.0.1 тоже конечны, но вы можете поднять много листенеров
на разных портах и они у вас будут умножаться.


14 октября 2015 г., 17:14 пользователь kpoxa <kpoxa на kpoxa.net> написал:

> коннекты на 127.0.0.1 тоже конечны, разве что применять unix socket в этом
> месте.
> Вот если бы можно было сделать
> upstream ws {
>   server 10.17.17.38:5003 bind 10.17.17. <http://10.17.17.38:5003/>100;
>   server 10.17.17.38:5003 bind 10.17.17. <http://10.17.17.38:5003/>101;
>   server 10.17.17.38:5003 bind 10.17.17. <http://10.17.17.38:5003/>102;
> }
> но тут нужно внедрять это в код nginx.
>
> 14 октября 2015 г., 17:11 пользователь Сергей Пузырёв <spuzirev на gmail.com>
> написал:
>
> Можно сделать ещё намного более извращенную схему с перепроксированием по
>> петле:
>>
>> upstream ws {
>>   server 10.17.17.38.5003;
>> }
>>
>> upstream internal-ws {
>>   server 127.0.0.1:5001;
>>   server 127.0.0.2:5001;
>>   server 127.0.0.3:5001;
>> }
>>
>> server {
>>   listen 15.15.72.198:443 ssl;
>>   proxy_connect_timeout 30s;
>>   proxy_timeout 3600s;
>>   proxy_pass internal-ws;
>>   error_log /var/log/nginx/websocket-ssl.log info;
>> }
>>
>> server {
>>   listen 127.0.0.1:5001
>>   proxy_pass ws;
>>   proxy_bind 1.1.1.1;
>> }
>>
>> server {
>>   listen 127.0.0.2:5001;
>>   proxy_pass ws;
>>   proxy_bind 2.2.2.2;
>> }
>>
>> server {
>>   listen 127.0.0.3:5001;
>>   proxy_pass ws;
>>   proxy_bind 3.3.3.3;
>> }
>>
>> 14 октября 2015 г., 17:00 пользователь kpoxa <kpoxa на kpoxa.net> написал:
>>
>>> Добрый день.
>>>
>>> Спасибо за попытку помочь, к сожалению proxy_bind в варианте с stream
>>> сервером можно использовать только один раз, т.к. в данном случае нет
>>> location как таковых, есть только очень длинные соединения с commet
>>> сервером, которые могут длиться днями, и это их нормальное поведение.
>>> Конфиг простой:
>>> stream {
>>> upstream ws {
>>>     server      10.17.17.38:5003;
>>> }
>>>
>>> server {
>>>     listen                      15.15.72.198:443 ssl;
>>> #ssl params skipped;
>>>     proxy_connect_timeout       30s;
>>>     proxy_timeout               3600s;
>>>     proxy_pass                  ws;
>>>     error_log /var/log/nginx/websocket-ssl.log info;
>>> }
>>> }
>>>
>>> 14 октября 2015 г., 16:43 пользователь Сергей Пузырёв <
>>> spuzirev на gmail.com> написал:
>>>
>>> Можно использовать директиву proxy_bind
>>>> http://nginx.org/ru/docs/http/ngx_http_proxy_module.html#proxy_bind и
>>>> наваять грязный хак наподобие:
>>>>
>>>> split_clients $connection $downstream {
>>>>   50% 1;
>>>>   50% 2;
>>>> }
>>>>
>>>> upstream backend {
>>>>   server A;
>>>>   server B;
>>>> }
>>>>
>>>> server {
>>>>   location /bla {
>>>>     rewrite /down$downstream$request_uri;
>>>>   }
>>>>   location /down1 {
>>>>     rewrite /down1(.*)$ $1 break;
>>>>     proxy_pass http://backend;
>>>>     proxy_bind 1.1.1.1;
>>>>   }
>>>>   location /down2 {
>>>>     rewrite /down2(.*)$ $1 break;
>>>>     proxy_pass http://backend;
>>>>     proxy_bind 2.2.2.2;
>>>>   }
>>>> }
>>>>
>>>> 14 октября 2015 г., 16:36 пользователь kpoxa <kpoxa на kpoxa.net> написал:
>>>>
>>>>> Проблемы с настройками ОС нет, я ж написал, уперся в лимит портов,
>>>>> грубо говоря в 64 000 +-, а надо 200 тыс. Пробовал и с указанными вами
>>>>> переменными играться, и, например, наличие нескольких IP из одной подсети,
>>>>> исходящие соединяются не распределяются по IP самостоятельно, для этого
>>>>> надо делать какие-то телодвижения в коже, коих сейчас, видимо, нет. Поэтому
>>>>> у меня и вопрос - может быть они есть и я что-то упустил в доках? А если
>>>>> нет, то не планируются ли? Какой-нибудь downstream { out_ip ip1; out_ip
>>>>> ip2; } :)
>>>>>
>>>>> 2015-10-14 15:59 GMT+03:00 Alex Vorona <voron на amhost.net>:
>>>>>
>>>>>> Похоже проблемы с настройками ОС
>>>>>> http://nginx.org/en/docs/freebsd_tuning.html
>>>>>> net.inet.ip.portrange.randomized=0
>>>>>> net.inet.ip.portrange.first=1024
>>>>>> net.inet.ip.portrange.last=65535
>>>>>>
>>>>>> Для Linux  sysctl net.ipv4.ip_local_port_range
>>>>>>
>>>>>> _______________________________________________
>>>>>> nginx-ru mailing list
>>>>>> nginx-ru на nginx.org
>>>>>> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> nginx-ru mailing list
>>>>> nginx-ru на nginx.org
>>>>> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> С уважением,
>>>> Сергей Пузырёв
>>>> тел.: +7-916-980-70-45
>>>>
>>>> _______________________________________________
>>>> nginx-ru mailing list
>>>> nginx-ru на nginx.org
>>>> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>>>>
>>>
>>>
>>> _______________________________________________
>>> nginx-ru mailing list
>>> nginx-ru на nginx.org
>>> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>>>
>>
>>
>>
>> --
>> С уважением,
>> Сергей Пузырёв
>> тел.: +7-916-980-70-45
>>
>> _______________________________________________
>> nginx-ru mailing list
>> nginx-ru на nginx.org
>> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>>
>
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru на nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>



-- 
С уважением,
Сергей Пузырёв
тел.: +7-916-980-70-45
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20151014/a67d970e/attachment.html>


Подробная информация о списке рассылки nginx-ru