<div dir="ltr">Можно сделать ещё намного более извращенную схему с перепроксированием по петле:<br><br>upstream ws {<br> server 10.17.17.38.5003;<br>}<br><br>upstream internal-ws {<br> server <a href="http://127.0.0.1:5001">127.0.0.1:5001</a>;<br> server <a href="http://127.0.0.2:5001">127.0.0.2:5001</a>;<br> server <a href="http://127.0.0.3:5001">127.0.0.3:5001</a>;<br>}<br><br><div style="font-size:12.8px">server {</div><div style="font-size:12.8px"> listen <a href="http://15.15.72.198:443/" target="_blank">15.15.72.198:443</a> ssl;</div><div style="font-size:12.8px"><span style="font-size:12.8px"> proxy_connect_timeout 30s;</span><br></div><div style="font-size:12.8px"> proxy_timeout 3600s;</div><div style="font-size:12.8px"> proxy_pass internal-ws;</div><div style="font-size:12.8px"> error_log /var/log/nginx/websocket-ssl.log info;</div><div style="font-size:12.8px">}<br><br>server {<br> listen <a href="http://127.0.0.1:5001">127.0.0.1:5001</a><br> proxy_pass ws;<br> proxy_bind 1.1.1.1;<br>}<br><br>server {<br> listen <a href="http://127.0.0.2:5001">127.0.0.2:5001</a>;<br> proxy_pass ws;<br> proxy_bind 2.2.2.2;<br>}<br><br>server {<br> listen <a href="http://127.0.0.3:5001">127.0.0.3:5001</a>;<br> proxy_pass ws;<br> proxy_bind 3.3.3.3;<br>}</div></div><div class="gmail_extra"><br><div class="gmail_quote">14 октября 2015 г., 17:00 пользователь kpoxa <span dir="ltr"><<a href="mailto:kpoxa@kpoxa.net" target="_blank">kpoxa@kpoxa.net</a>></span> написал:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Добрый день.<div><br></div><div>Спасибо за попытку помочь, к сожалению proxy_bind в варианте с stream сервером можно использовать только один раз, т.к. в данном случае нет location как таковых, есть только очень длинные соединения с commet сервером, которые могут длиться днями, и это их нормальное поведение. Конфиг простой:</div><div><div>stream {<br></div><div>upstream ws {</div><div> server <a href="http://10.17.17.38:5003" target="_blank">10.17.17.38:5003</a>;</div><div>}</div><div><br></div><div>server {</div><div> listen <a href="http://15.15.72.198:443" target="_blank">15.15.72.198:443</a> ssl;</div><div>#ssl params skipped;</div><div> proxy_connect_timeout 30s;</div><div> proxy_timeout 3600s;</div><div> proxy_pass ws;</div><div> error_log /var/log/nginx/websocket-ssl.log info;</div><div>}</div></div><div>}</div></div><div class="gmail_extra"><br><div class="gmail_quote">14 октября 2015 г., 16:43 пользователь Сергей Пузырёв <span dir="ltr"><<a href="mailto:spuzirev@gmail.com" target="_blank">spuzirev@gmail.com</a>></span> написал:<div><div class="h5"><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Можно использовать директиву proxy_bind <a href="http://nginx.org/ru/docs/http/ngx_http_proxy_module.html#proxy_bind" target="_blank">http://nginx.org/ru/docs/http/ngx_http_proxy_module.html#proxy_bind</a> и наваять грязный хак наподобие:<br><br>split_clients <span style="color:rgb(0,0,0);font-family:monospace;font-size:medium;line-height:22.4px">$connection $downstream {<br> 50% 1;<br> 50% 2;<br>}</span><br><br>upstream backend {<br> server A;<br> server B;<br>}<br><br>server {<br> location /bla {<br> rewrite /down$downstream$request_uri;<br> }<br> location /down1 {<br> rewrite /down1(.*)$ $1 break;<br> proxy_pass <a href="http://backend" target="_blank">http://backend</a>;<br> proxy_bind 1.1.1.1;<br> }<br> location /down2 {<br> rewrite /down2(.*)$ $1 break;<br> proxy_pass <a href="http://backend" target="_blank">http://backend</a>;<br> proxy_bind 2.2.2.2;<br> }<br>}</div><div class="gmail_extra"><br><div class="gmail_quote">14 октября 2015 г., 16:36 пользователь kpoxa <span dir="ltr"><<a href="mailto:kpoxa@kpoxa.net" target="_blank">kpoxa@kpoxa.net</a>></span> написал:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Проблемы с настройками ОС нет, я ж написал, уперся в лимит портов, грубо говоря в 64 000 +-, а надо 200 тыс. Пробовал и с указанными вами переменными играться, и, например, наличие нескольких IP из одной подсети, исходящие соединяются не распределяются по IP самостоятельно, для этого надо делать какие-то телодвижения в коже, коих сейчас, видимо, нет. Поэтому у меня и вопрос - может быть они есть и я что-то упустил в доках? А если нет, то не планируются ли? Какой-нибудь downstream { out_ip ip1; out_ip ip2; } :)</div><div><div><div class="gmail_extra"><br><div class="gmail_quote">2015-10-14 15:59 GMT+03:00 Alex Vorona <span dir="ltr"><<a href="mailto:voron@amhost.net" target="_blank">voron@amhost.net</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Похоже проблемы с настройками ОС<br>
<a href="http://nginx.org/en/docs/freebsd_tuning.html" rel="noreferrer" target="_blank">http://nginx.org/en/docs/freebsd_tuning.html</a><br>
net.inet.ip.portrange.randomized=0<br>
net.inet.ip.portrange.first=1024<br>
net.inet.ip.portrange.last=65535<br>
<br>
Для Linux sysctl net.ipv4.ip_local_port_range<br>
<br>
_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org" target="_blank">nginx-ru@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" rel="noreferrer" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a></blockquote></div><br></div>
</div></div><br>_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org" target="_blank">nginx-ru@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" rel="noreferrer" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a><span><font color="#888888"><br></font></span></blockquote></div><span><font color="#888888"><br><br clear="all"><div><br></div>-- <br><div><div dir="ltr">С уважением,<br>Сергей Пузырёв<br>тел.: +7-916-980-70-45<br></div></div>
</font></span></div>
<br>_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org" target="_blank">nginx-ru@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" rel="noreferrer" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a><br></blockquote></div></div></div><br></div>
<br>_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" rel="noreferrer" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a><br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr">С уважением,<br>Сергей Пузырёв<br>тел.: +7-916-980-70-45<br></div></div>
</div>