Nette 2.4 vs. HTTPS – problém s redirect()?
- flamengo
- Člen | 135
Zřejmě se budu opakovat, ale nějak an to nemůžu přijít. Aplikace na HTTP bež v pořádku, ale při HTTPS už mám problém.
V htaccees mám dle doporučení podpory hostingu toto:
RewriteCond %{HTTPS} !on
RewriteCond %{HTTP:X-Forwarded-Proto} !=https
RewriteRule ^.*$ https://%{HTTP_HOST}%{REQUEST_URI} [L,QSA,NE]
Všechno funguje, ale problém nástává v admin modulu, kde se v případě nepřihlášeného uživatele přesmeruje takto:
$this->redirect(':Admin:Login:default', ['backlink' => $this->storeRequest()]);
Toto přesmerování je zřejmě ten problém, protože mi to přesměruje na
adresu https://www.nazevwebu.cz:80/admin/login/?backlink=v0hb1
a
prohlížeč zobrazí chybu ERR_SSL_PROTOCOL_ERROR
.
Router nějak takto:
$router[] = new Route('[<locale=cs cs>/]admin/<presenter>/<action>/[<id [0-9]+>/][<dataLang=cs cs|en>]', array(
'module' => 'Admin',
'presenter' => 'Admin:Pages',
'action' => 'default',
'id' => NULL,
'dataLang' => 'cs'
));
Verze nette/aplications 2.4.6 dle výpisu composeru.
Toto https://forum.nette.org/…od-nette-2-4#… jsem četl, ale přijde mi, že u verze Nette 2.4 bych nemusel již nic v routeru upravovat.
Předem díky moc za pomoc či navedení, kde pátrat dál.
- David Matějka
- Moderator | 6445
mas v configu nastavenou trusted proxy? treba neco jako
http:
proxy:
- "172.16.0.0/12"
(respektive dle realne ip proxy serveru)
- flamengo
- Člen | 135
Vložil jsem a žádný efekt :(
Tak jsem našel ve fóru toto https://forum.nette.org/…-na-active24#… a to je zřejmě stejný problém. Hosting je také Active24.cz.
EDIT: nyní to už funguje. Do index.php jsem vložil následující kód dle příspěvku https://forum.nette.org/…-na-active24#…, velké díky a @DavidMatějka také díky.
if (!empty($_SERVER['HTTPS']) && 'off' !== $_SERVER['HTTPS']) {
$_SERVER['SERVER_PORT'] = 443;
}
Editoval flamengo (2. 11. 2017 15:34)
- crookslovacko
- Člen | 75
ahojte mám stejný problém jenže mě to hází pořád error: Pravděpodobně je problém zde
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Deny Rule 1" patternSyntax="Wildcard" stopProcessing="true">
<match url="*" />
<conditions>
<add input="{URL}" pattern="*" />
</conditions>
<action type="CustomResponse" statusCode="403" statusReason="Forbidden: Access is denied." statusDescription="You do not have permission to view this directory or page using the credentials that you supplied." />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
Mam pravdu ja ze mi to musi povolit? Nebo mam ještě jiné sance..Samozrejme jsem radky dal nad containerem:
if (!empty($_SERVER['HTTPS']) && 'off' !== $_SERVER['HTTPS']) {
$_SERVER['SERVER_PORT'] = 443;
}
$container = require __DIR__ . '/../app/bootstrap.php';
$container->getByType(Nette\Application\Application::class)->run();
Mate nejakou radu nad ramec kontaktu active
test: https://www.abuxa.com/kurz/signkurz?… dekuji vsem..po
vyplneni neprejde..bez radku by se objevil :80
Editoval crookslovacko (5. 1. 2018 18:20)