Re: Правильная работа с proxy_pass и proxy_redirect
    Maxim Dounin 
    mdounin на mdounin.ru
       
    Вт Май  3 12:08:27 MSD 2011
    
    
  
Hello!
On Tue, May 03, 2011 at 04:27:01PM +0900, Alexander Petrovsky wrote:
> Здравствуйте.
> 
> Имеется следующий локейшен:
> 
> location ~* /SL {
>   proxy_pass                 http://192.168.51.4;
>   ...
> }
> 
> В локейшен попадаем по url http://example/SL и все работает как ожидается.
> Возникла необходимость привести url к виду - http://example/app/SL, локейшен
> был переписан так:
> 
> location = /app/SL {
>  proxy_pass              http://192.168.51.4/SL/;
>  proxy_redirect          default;
>  ...
> }
> 
> Но в связи с модификатором "=", url вида
> http://example/app/SL/WebService1.asmx не открываются. Пробовал использовать
> rewrite, но не вышло. Пробовал так:
> 
> location ~* /app/SL {
>  rewrite                     /app/([^/]+)    $1 break;
>  #rewrite                   /app/(.*)         $1 break;
>  proxy_pass              http://192.168.51.4;
>  ...
> }
> 
> Как правильно поступить в этой ситуации?
А зачем тут использовать location'ы, заданные регулярным 
выражением?  Тут вполне достаточно нормального location'а:
    location /app/SL/ {
        proxy_pass http://192.168.51.4/SL/;
    }
Maxim Dounin
    
    
Подробная информация о списке рассылки nginx-ru