HTTPS za load balancerem způsobuje smyčku při kanonizaci url
- CZechBoY
- Člen | 3608
Zdravím,
už jsem identifikoval problém s neustálým přesměrováváním na stejnou
adresu a teď bych to potřeboval nějak čistě vyřešit :-).
Jde o to, že při https požadavak k load balanceru a load balancer pošle
http (s http_x_forwarded_proto=https) na webserver. Nette si ale myslí, že se
jedná o http požadavek a tak zkanonizuje url na https protokol, přesměruje
301… a takhle furt dokola.
V RouterFactory mám nastaveno generování https pomocí
Route::$defaultFlags = Route::SECURED
.
Napadá vás nějaké čisté řešení nebo budu muset hacknout
Http\Url::isEqual a udělat si výjimku na protokol?
Díky za rady.
- Jan Mikeš
- Člen | 771
Zoufalý pokus, ale kdo ví, třeba pomůže :D máš v routeru
$defaultFlags
obaleny podmínkou takto?
// $httpRequest = Nette\Http\Request injectnuto přes __construct
if ($this->httpRequest->isSecured()) {
Route::$defaultFlags = Route::SECURED;
}
Editoval Lexi (6. 9. 2016 19:29)
- jiri.pudil
- Nette Blogger | 1032
Jaké všechny hlavičky ten load balancer pošle v requestu? RequestFactory
v nette/http:>=2.4 je už docela chytrá a s X-Forwarded-Proto
by si měla
poradit
edit: ha, a koukám, že o tři řádky výš je asi bug :)
Editoval jiri.pudil (6. 9. 2016 20:36)