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