Re: Catalyst, redirect и https

Dmitrii q7u5 at ukr.net
Fri Nov 11 12:41:27 PST 2011



можно сделать альтернативный вариант:

отправить ajax запрос на javascript, получить результат и сделать редирект на javascript'е



 --- Исходное сообщение ---
 От кого: "Serg Gulko" <s.gulko at gmail.com>
 Кому: "Kiev Perl Users Group" <kiev-perl-users-group at googlegroups.com>
  Дата: 11 ноября 2011, 20:54:50
 Тема: Catalyst, redirect и https
 


> Есть приложение на Catalyst, запущено под FastCGI, в качестве front-
> end-а используется nginx.
> При использовании $c->response->redirect($c->uri_for("/cool_place"));
> backend всегда делает редикерк по http, в то время как на nginx-е у
> нас поднят SSL.
> Особенно неприятно это проявляется при операциях типа Logout, когда
> пользователь явно был в защищенной зоне, послал запрос типа /logout,
> который имел такой вот вид:
> 
> $c->log->info('Logout');
> $c->logout;
> 
> $c->response->redirect($c->uri_for("/"));
> 
> и видит чуденсую ошибку.
> 
> Сейчас я решил этот вопрос явным указанием того, что схема у нас
> https:
> 
> $c->log->info('Logout');
> $c->logout;
> 
> my $uri = $c->req->base();
> $uri->scheme("https");
> $c->req->base($uri);
> 
> $c->response->redirect($c->uri_for("/"));
> 
> Но вот что-то мне подсказывает, что такой суровый хардкод не очень
> красив. По странным причинам Catalyst::Plugin::RequireSSL тоже не
> сильно помог.
> Кто сталкивался с такой проблемой и знает как решить ее малой кровью?



More information about the Kiev-pm mailing list