Re: Разный proxy pass в зависимости от $http referer

Maxim Dounin mdounin на mdounin.ru
Чт Янв 14 15:58:06 MSK 2010


Hello!

On Thu, Jan 14, 2010 at 03:38:41PM +0300, Борис Долгов wrote:

> Насколько я понима, очередные проблемы с if.

Нет, просто proxy_redirect default не дружит с proxy_pass 
использующим переменные.

> Я бы сделал так:
> proxy_set_header  X-Real-IP  $remote_addr;
> location / {
>     if ($http_referer ~* "^http://(.*)/fw-in/(.*)$" ) { return 412; }
>     if ($http_referer ~* "^http://(.*)/webrelay/(.*)$" ) { return 413;}
>     error_page 412 =@in;
>     error_page 413 =@web
>     proxy_pass htto://login:80/;
>     proxy_redirect   default;
> }
> location @in {
>     proxy_pass htto://in:80/;
>     proxy_redirect   default;
> }
> location @web {
>     proxy_pass htto://web:80/;
>     proxy_redirect   default;
> }

Да.

> Ах, как не хватает оператора безусловного перехода в именованый location.

+1

Maxim Dounin

> 
> 2010/1/14, lazutov <nginx-forum at nginx.us>:
> > Здравствуйте!
> > Цель: в зависимости от referer перенаправить запрос.
> >
> > location / {
> >      set $ups 'http://login:80/';
> >      if ($http_referer ~* "^http://(.*)/fw-in/(.*)$" ) {set $ups
> > 'http://in:80/';}
> >      if ($http_referer ~* "^http://(.*)/webrelay/(.*)$" ) {set $ups
> > 'http://web:80/';}
> >      proxy_pass $ups;
> > # this line is 258, the next is 259
> >      proxy_redirect   default;
> >      proxy_set_header  X-Real-IP  $remote_addr;
> > }
> >
> >
> > Результат:
> >
> >  "proxy_rewrite_location default" must go after the "proxy_pass" directive
> > in /etc/nginx/conf/nginx.conf:259
> >
> > Вопрос: где я не прав?
> > Заранее спасибо!
> > PS это в server {...} с ssl;
> >
> > Posted at Nginx Forum:
> > http://forum.nginx.org/read.php?21,40929,40929#msg-40929
> >
> >
> > _______________________________________________
> > nginx-ru mailing list
> > nginx-ru at nginx.org
> > http://nginx.org/mailman/listinfo/nginx-ru
> >
> 
> 
> -- 
> С уважением, Борис Долгов.
> icq 77556665
> e-mail boris at dolgov.name
> 
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://nginx.org/mailman/listinfo/nginx-ru



Подробная информация о списке рассылки nginx-ru