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