<html>
<head>
<meta content="text/html; charset=KOI8-R" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
В настройках подключения fastcgi в nginx добавьте<br>
<blockquote>fastcgi_param HTTPS on;<br>
</blockquote>
<br>
11.11.2011 19:54, Serg Gulko пишет:
<blockquote
cite="mid:e89994a5-f0c3-42c2-aa87-de9a6414201a@l19g2000yqc.googlegroups.com"
type="cite">
<pre wrap="">Есть приложение на 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>
</body>
</html>