<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
  <META NAME="GENERATOR" CONTENT="GtkHTML/3.32.2">
</HEAD>
<BODY>
Ну, у меня там достаточно много внутренних редиректов, которые не хотелось бы выносить на клиентскую сторону:)<BR>
В Птн, 11/11/2011 в 22:41 +0200, Dmitrii пишет:
<BLOCKQUOTE TYPE=CITE>
<PRE>
можно сделать альтернативный вариант:

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



 --- Исходное сообщение ---
 От кого: "Serg Gulko" <<A HREF="mailto:s.gulko@gmail.com">s.gulko@gmail.com</A>>
 Кому: "Kiev Perl Users Group" <<A HREF="mailto:kiev-perl-users-group@googlegroups.com">kiev-perl-users-group@googlegroups.com</A>>
  Дата: 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 тоже не
> сильно помог.
> Кто сталкивался с такой проблемой и знает как решить ее малой кровью?
</PRE>
</BLOCKQUOTE>
<BR>
</BODY>
</HTML>