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