Catalyst, redirect и https

und3f d3fin3 at gmail.com
Fri Nov 11 15:12:35 PST 2011


В настройках подключения fastcgi в nginx добавьте

    fastcgi_param HTTPS on;


11.11.2011 19:54, Serg Gulko пишет:
> Есть приложение на 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 тоже не
> сильно помог.
> Кто сталкивался с такой проблемой и знает как решить ее малой кровью?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/kiev-pm/attachments/20111112/b4c4376c/attachment.html>


More information about the Kiev-pm mailing list