коннекты на 127.0.0.1 тоже конечны, но вы можете поднять много листенеров на разных портах и они у вас будут умножаться.
14 октября 2015 г., 17:14 пользователь kpoxa <[email protected]> написал: > коннекты на 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 пользователь Сергей Пузырёв <[email protected]> > написал: > > Можно сделать ещё намного более извращенную схему с перепроксированием по >> петле: >> >> 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 <[email protected]> написал: >> >>> Добрый день. >>> >>> Спасибо за попытку помочь, к сожалению 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 пользователь Сергей Пузырёв < >>> [email protected]> написал: >>> >>> Можно использовать директиву 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 <[email protected]> написал: >>>> >>>>> Проблемы с настройками ОС нет, я ж написал, уперся в лимит портов, >>>>> грубо говоря в 64 000 +-, а надо 200 тыс. Пробовал и с указанными вами >>>>> переменными играться, и, например, наличие нескольких IP из одной подсети, >>>>> исходящие соединяются не распределяются по IP самостоятельно, для этого >>>>> надо делать какие-то телодвижения в коже, коих сейчас, видимо, нет. >>>>> Поэтому >>>>> у меня и вопрос - может быть они есть и я что-то упустил в доках? А если >>>>> нет, то не планируются ли? Какой-нибудь downstream { out_ip ip1; out_ip >>>>> ip2; } :) >>>>> >>>>> 2015-10-14 15:59 GMT+03:00 Alex Vorona <[email protected]>: >>>>> >>>>>> Похоже проблемы с настройками ОС >>>>>> 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 >>>>>> [email protected] >>>>>> http://mailman.nginx.org/mailman/listinfo/nginx-ru >>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> nginx-ru mailing list >>>>> [email protected] >>>>> http://mailman.nginx.org/mailman/listinfo/nginx-ru >>>>> >>>> >>>> >>>> >>>> -- >>>> С уважением, >>>> Сергей Пузырёв >>>> тел.: +7-916-980-70-45 >>>> >>>> _______________________________________________ >>>> nginx-ru mailing list >>>> [email protected] >>>> http://mailman.nginx.org/mailman/listinfo/nginx-ru >>>> >>> >>> >>> _______________________________________________ >>> nginx-ru mailing list >>> [email protected] >>> http://mailman.nginx.org/mailman/listinfo/nginx-ru >>> >> >> >> >> -- >> С уважением, >> Сергей Пузырёв >> тел.: +7-916-980-70-45 >> >> _______________________________________________ >> nginx-ru mailing list >> [email protected] >> http://mailman.nginx.org/mailman/listinfo/nginx-ru >> > > > _______________________________________________ > nginx-ru mailing list > [email protected] > http://mailman.nginx.org/mailman/listinfo/nginx-ru > -- С уважением, Сергей Пузырёв тел.: +7-916-980-70-45
_______________________________________________ nginx-ru mailing list [email protected] http://mailman.nginx.org/mailman/listinfo/nginx-ru
