Ajax redirect https nefunkcny, $this->redirect() generuje http link (inak vsetko funguje dobre)

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

Ahoj,

pouzivam tvoj nette.ajax ale nasiel som jednu chybu, pri redirecte:

flow ktory pouzivam..

  1. http (localhost)
  1. Odoslem ajax request
  2. Spracujem odoslem $this->redirect()
  3. Na server odosle resonse a redirectne

B)

  1. Odoslem ajax request
  2. Spracujem odoslem $this->redirect()
  3. Na server odosle response – ale tu je problem, ze mi prijde len http: URLka, bez https (cela aplikacia inak funguje dobre, vsetko – okrem $this->redirect() cez AJAX

vedel by si mi povedat, co mam robit ? nechcem to hackfixovat

PS: Cela aplikacia vazne funguje dobre, mame tam uz klientov a nikto nenarazil na ziadnu chybu

chyba koli ktorej sa to deje:

https://postimg.org/…e/zavdfhls1/

router mam urobeny takto:

		$router[] = new Route("//[<org>.]$host/[<locale=en en|cs|sk>/]", 'Default:default');
		$router[] = new Route("//[<org>.]$host/[<locale=en en|cs|sk>/]<presenter>[/<action>][/uuid/<uuid>]", 'Default:default');
		$router[] = new Route("//[<org>.]$host/[<locale=en en|cs|sk>/]<presenter>[/<action>][/<token>]", 'Default:default');

Editoval Chipso (20. 1. 2017 15:47)

SparkCZ
Člen | 22
+
0
-

Pokud používás 2.4, měl bys implicitně používat v routě protokol

$router[] = new Route("https://[<org>.]$host/[<locale=en en|cs|sk>/]", 'Default:default');

Pokud 2.3, tak použij příznak SECURED

$router[] = new Route("//[<org>.]$host/[<locale=en en|cs|sk>/]", 'Default:default', Route::SECURED);
Chipso
Člen | 28
+
0
-

Pouzivam Nette 2.4.
Dakujem, skusal som to, ide ale o to, ze len produkcny server je na https:// localhosty mame na http://

zapisal som to pomocou

$https = getenv('ENVIRONMENT') === 'production' ? 'https://' : 'http://';

ale produkcny server mi nefunguje, je potrebne upravit nejak nginx alebo htaccess ?

skusal som to pomcou

RewriteCond %{HTTPS} off
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

ale ajtak mi to nechcelo ist, webka urobila milion redirect loopov

SparkCZ napsal(a):

Pokud používás 2.4, měl bys implicitně používat v routě protokol

$router[] = new Route("https://[<org>.]$host/[<locale=en en|cs|sk>/]", 'Default:default');

Pokud 2.3, tak použij příznak SECURED

$router[] = new Route("//[<org>.]$host/[<locale=en en|cs|sk>/]", 'Default:default', Route::SECURED);

Editoval Chipso (21. 1. 2017 13:36)