<div dir="ltr">Добрый день,<div><br></div><div>Ð¡Ð¸Ñ‚ÑƒÐ°Ñ†Ð¸Ñ ÑледующаÑ: имеетÑÑ Ð±Ð¾ÐµÐ²Ð¾Ð¹ Ñервер в ÑвÑзке nginx + php-fpm + Ð½Ð¾Ð²Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ Ñайта на ÑоÑеднем Ñервере, на котором тоже крутитÑÑ nginx и php-fpm. Задача такова: на боевом Ñервере наÑтроить прокÑирование на новую верÑию Ñайта в завиÑимоÑти от уÑтановленной у поÑÐµÑ‚Ð¸Ñ‚ÐµÐ»Ñ ÐºÑƒÐºÐ¸.</div>
<div><br></div><div>СложноÑть в том, что в блок if Ð½ÐµÐ»ÑŒÐ·Ñ Ð·Ð°Ð²ÐµÑ€Ð½ÑƒÑ‚ÑŒ proxy_set_header - на форумах Ñоветуют Ð´Ð»Ñ Ñтих целей иÑпользовать map Ñ ÑопутÑтвующей ÑÑылкой на <a href="http://nginx.org/ru/docs/http/ngx_http_map_module.html">http://nginx.org/ru/docs/http/ngx_http_map_module.html</a>. Ðикак не могу понÑть, как обойтиÑÑŒ без if, а только map в моем Ñлучае?</div>
<div><br></div><div>Другими Ñловами, конÑÑ‚Ñ€ÑƒÐºÑ†Ð¸Ñ Ð½Ð¸Ð¶Ðµ работает только Ð´Ð»Ñ Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½ÐµÐ¹ Ñети (в логах браузера идет подгрузка Ñ ip 192.168.2.146).</div><div><br></div><div>server {</div><div><div>...</div><div>    if ($http_cookie ~ 'newsitetest') {</div>
<div>Â Â Â Â Â Â Â Â set $newsite 1;</div><div>Â Â Â Â }</div></div><div>...</div><div><div>Â Â Â Â location ~* ^/(.+)$ {</div><div><br></div><div>Â Â Â Â Â Â Â Â Â Â Â Â if ($newsite = 1) {</div><div>Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â proxy_pass <a href="http://192.168.2.146">http://192.168.2.146</a>;<br>
</div><div>                    break;</div><div>            }</div><div>        try_files $uri $uri/ /not_found.php?query_uri=/$1&$args;<br></div><div>        fastcgi_pass  <a href="http://127.0.0.1:9000">127.0.0.1:9000</a>;<br>
</div><div>        fastcgi_index  index.html;</div><div>        include     fastcgi_params;</div><div>        fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;</div></div><div>}<br>
</div><div>}</div><div><div><br></div>-- <br><div><br></div><div><div>С уважением</div></div>
</div></div>