Stejná routa s i bez https (nette 2.1)

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Budry
Člen | 88
+
0
-

Zdravím,

narazil jsem na jeden problém, který se mi nepodařilo vyřešit. Na jednom starém projektu máme Nette 2.1. Celý projekt migrujeme na HTTPS ale máme problém s Nette routy.

Na produkci máme web plně pod HTTPS ale při local develop by bylo fajn mít web stále na HTTP abychom nemuseli řešit nějaké self-signed certifikáty pro každou mašinu vývojáře. Problém je že po přidanání falgu IRoute::SECURED Nette vynutí https pokaždé i když to není žádoucí.

Zkoušeli jsme duplikovat routy

new Route('/some-route', Route::SECURED)
new Route('/some-route')

// nebo

new Route('/some-route')
new Route('/some-route', Route::SECURED)

ale toto řešení nefunguje. Nette pokaždé bere první definovanou routu.

Existuje nějaký „čistý“ způsob jak mít nette routy přístupné jak s HTTPS tak bez HTTPS?

Dočasně problém řešeníme extra Routerem v config.local.neon který pro dev nemá SECURED flag, ale zajímalo by mě jestli existuje nějaké jiné (lepší?) řešení.

Předem díky.

norbe
Backer | 405
+
0
-
if($httpRequest->isSecured()) {
	Route::$defaultFlags = Route::SECURED;
}
David Matějka
Moderator | 6445
+
0
-

nove nette to uz resi dobre a pouzije vzdy http/https dle http pozadavku. ve starem nette se musi vzdy ten flag nastavit tak, jak potrebujes.

takze ten si vyber z nasledujicich reseni dvou problemu:

  1. jak zjistit, jestli zapnout secured?
  • bud z configu, jak to mas ted
  • nebo dle httprequstu, pripadne $_SERVER, jestli je aktualni pozadavek na https
  1. jak to nastavit?
Budry
Člen | 88
+
0
-

@norbe @DavidMatějka Díky podmínka s isSecured() mě vůbec nenapadla, díky.