Всем доброго времени суток!<br><br>Для некоторых из vhosts необходимо выбирать на какой upstream ходить в зависимости от $remote_addr.<br><br># uname -a<br>FreeBSD <a href="http://server3.nitgroup.org">server3.nitgroup.org</a> 7.0-RELEASE FreeBSD 7.0-RELEASE #0: Sun Feb 24 19:59:52 UTC 2008 root@logan.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386<br>
<br># nginx -V<br>nginx version: nginx/0.7.62<br>configure arguments: --prefix=/usr/local/etc/nginx --with-cc-opt='-I /usr/local/include' --with-ld-opt='-R /usr/local/lib -L /usr/local/lib' --conf-path=/usr/local/etc/nginx/nginx.conf --sbin-path=/usr/local/sbin/nginx --pid-path=/var/run/nginx.pid --error-log-path=/var/log/nginx-error.log --user=www --group=www --with-google_perftools_module --http-client-body-temp-path=/var/tmp/nginx/client_body_temp --http-proxy-temp-path=/var/tmp/nginx/proxy_temp --http-fastcgi-temp-path=/var/tmp/nginx/fastcgi_temp --http-log-path=/var/log/nginx-access.log --with-http_gzip_static_module --with-http_realip_module --with-http_ssl_module --with-http_stub_status_module --with-pcre<br>
<br>Собственно вопрос - баловство с map & $remote_addr позволит юзать proxy_pass с указанием ИМЕНИ,<br>декларированного upstream? Или только address:port? На примере<br><br>map $remote_addr $upstream_name {<br> default local;<br>
x.x.x.x phpbackends;<br> y.y.y.y local;<br>}<br><br>и далее в конфиге <br><br>location / {<br> proxy_pass http://$upstream_name;<br> <SKIPPED><br>}<br><br>Эксперимент на практике приводит к перманентной выдаче 503 со стороны nginx.<br>
Поиски в google привели к <a href="http://ruby-forum.com">ruby-forum.com</a> и предложенной Игорем реализации.<br><pre><a href="http://www.ruby-forum.com/topic/176958">http://www.ruby-forum.com/topic/176958</a><br><br> map $remote_addr $back1 {<br>
default <a href="http://10.0.0.1:80">10.0.0.1:80</a>;<br> 192.168.1.1 <a href="http://10.0.0.2:80">10.0.0.2:80</a>;<br> 192.168.1.5 <a href="http://10.0.0.2:80">10.0.0.2:80</a>;<br> }<br>
<br> server {<br> listen 80;<br> server_name <a href="http://bar.foo.com">bar.foo.com</a>;<br><br> location / {<br> proxy_pass <a href="http://$back1$request_uri/;" rel="nofollow">http://$back1$request_uri;</a><br>
}<br> }<br></pre>Но тут явное указание address:port, а в моем сюжете требуется указать named upstream <br>с группой адресов внутри. <br><br>Есть идеи как прикрутить задуманное, или сие изврат и работать не будет?<br>
<br>-- <br>С Уважением,<br>Костенко Евгений<br><br>моб: +7(928)2961142<br>icq: 101241013<br>jabber: <a href="mailto:nobody.mail@gmail.com">nobody.mail@gmail.com</a><br><br>