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

kpoxa kpoxa на kpoxa.net
Ср Окт 14 14:14:55 UTC 2015


коннекты на 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 at 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 at 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 at 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 at 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 at 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 at nginx.org
>>>>> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> nginx-ru mailing list
>>>> nginx-ru at nginx.org
>>>> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>>>>
>>>
>>>
>>>
>>> --
>>> С уважением,
>>> Сергей Пузырёв
>>> тел.: +7-916-980-70-45
>>>
>>> _______________________________________________
>>> nginx-ru mailing list
>>> nginx-ru at nginx.org
>>> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>>>
>>
>>
>> _______________________________________________
>> nginx-ru mailing list
>> nginx-ru at nginx.org
>> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>>
>
>
>
> --
> С уважением,
> Сергей Пузырёв
> тел.: +7-916-980-70-45
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20151014/6ad44eca/attachment.html>


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