Přidávání 80 do URL při redirectu na FORPSI
- Tečník
- Člen | 18
Zdravím,
našel jsem zde sice podobná vlákna, ale žádné nepomohlo, tak se dovolím
zeptat znovu.
Mám nainstalovanou svou aplikaci v Nette na hostingu FORPSI (PHP 8.2) a při redirectu to do URL přidá :80, čímž redirect selže a dostanu chybu SSL_ERROR_RX_RECORD_TOO_LONG.
Nemáte prosím někdo zkušenosti s hostováním Nette aplikací u FORPSI?
Přikládám .htaccess (chová se to stejně i při zakomentování řádků 2, 5 a 6):
RewriteEngine On
RewriteBase /
# use HTTPS
RewriteCond %{HTTPS} !on
RewriteRule .? https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
# prevents files starting with dot to be viewed by browser
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule /\.|^\.(?!well-known/) - [F]
# front controller
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !\.(pdf|js|mjs|ico|gif|jpg|jpeg|png|webp|svg|css|rar|zip|7z|tar\.gz|map|eot|ttf|otf|woff|woff2)$ index.php [L]
- Marek Bartoš
- Nette Blogger | 1278
Port se přidává, když je web za reverzní proxy a proxy není nastavená
v configu
Správně bys měl uvést rozsah adres, co ten server používá, ale též lze
nastavit, že všechny adresy jsou proxy:
http:
proxy:
- 1.0.0.0/1
Editoval Marek Bartoš (13. 6. 2023 17:49)
- Tečník
- Člen | 18
Ještě jsem se v tom vrtal a zatím to vypadá, že zabrala rada z https://forum.nette.org/…alsi-problem, tedy přidat do index.php ještě před volání bootstrapu, resp. autoloadu následující:
if (!empty($_SERVER['HTTPS']) && 'off' !== $_SERVER['HTTPS']) {
$_SERVER['SERVER_PORT'] = 443;
}
Což dává smysl, protože když jsem se díval, co chodí do $_SERVER[‚SERVER_PORT‘], tak to byla 80. A tímhle se přeplácne na 443, pokud se jedná o https.
Zatím tedy děkuji za rady a budu doufat, že se to už nikde nevykotí.