Savana HTTPS smyčka v přesměrování
- sasule
- Člen | 18
Zdravím všechny!
Potřebuji na jednom webu hostovaném na Savaně rozjet HTTPS. Routy mám tyto:
<?php
$router[] = new Route('<module acl>/<presenter>/<action>[/<id>]', 'Homepage:default', Route::SECURED);
$router[] = new Route('<presenter>/<action>[/<id>][/<date>]', array(
'module' => 'Default',
'presenter' => 'Homepage',
'action' => 'default',
'id' => NULL,
'date' => NULL,
), Route::SECURED);
?>
Ve chvíli, kdy je nastaveno Route::SECURED
, vygeneruje se
Smyčka v přesměrování. Zkouším i „čistou“ instalaci nette
(sandbox), k nahlédnutí zde. Generuje se neustále 301 – Moved
Permanently.
Zajímavé je, že když Route::SECURED
nepoužiji a jdu na
uvedenou stránku (HTTP) a poté do adresy napíši HTTPS, tak se to provede
v pořádku. Odkazy (vše mám přes n:href) na HTTPS zůstanou, ale
přesměrování např. ve formulářích jde zpět na HTTP (čemuž rozumím,
že to takto dle rout má být).
V konfiguraci na Savaně je pouze zatrženo „Naslouchat na portu 443 (SSL)“.
Pokud by někdo věděl, co s tím, budu velmi rád :-)
- thunderbuff
- Člen | 164
Přesně tohle se stane, pokud máš před webserverem proxy, která komunikuje s klientem po https a s webserverem už jen po http. Když jsem to řešil u sebe, pomohl mi tento „hack“ na začátku bootstrap.php:
<?php
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') {
$_SERVER['HTTPS'] = 'On';
$_SERVER['SERVER_PORT'] = 443;
}
?>
- thunderbuff
- Člen | 164
Myslel jsem si, že je to čistě můj problém, vidím, že není, možná by to sneslo zakomponování do requestfactory a pull request :-)
Editoval thunderbuff (5. 11. 2013 15:58)
- sasule
- Člen | 18
Zdravím,
nechci zakládat nové vlákno, tak to píšu sem:
Stále řeším https na savaně, jak jsem psal výše. Dostal jsem se k dalšímu problému, že mi nechce žádná session, či cookie přežít zavření prohlížeče, byť by měla – Vše je nastaveno správně dle dokumentace (a na HTTP to chodí jak má).
Věděl by někdo, čím to? Tipuji na přímou souvislost s certifikátem.