#1 2019-09-04 18:24:06

rmracingserviscz
Endora uživatel
Registrován: 1970-01-01
Příspěvky: 2

SSL certifikát nefunguje validně s htaccess pro NetteFramework

Dobrý den,
celý den zkouším přesměrovat přes .htaccess klasické http na https,
krátký popis toho co se děje:

pokud zadám celou adresu správně: funguje i s certifikátem
https://rmracingservis.cz/cs/

pokud ale napíšu cokoliv jiného:
https://rmracingservis.cz
www.rmracingservis.cz
https://rmracingservis.cz
https://www.rmracingservis.cz

jsem přesměrován skoro správně, ale nějakým zapříčiněním mi tam server dogenerovává port 80 -ZLE, ssl fičí na 443 - výsledek:
https://rmracingservis.cz:80/www/cs/
error:SSL_ERROR_RX_RECORD_TOO_LONG

mohl by mi prosím pěkně někdo poradit, jak z toho ven? Jde o framework nette, takže ne že se potřebuju otočit jen http/https, ale také do složky www. Řekl bych, že zde pár lidí, kteří mají web psaný v nette bude a hádám že i s certifikátem.


zde přikládám obsah htaccess, který je ve složce web:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^(www\.)?rmracingservis\.cz$
RewriteRule ^$ www/ [L]
RewriteCond %{HTTP_HOST} ^(www\.)?rmracingservis\.cz$
RewriteRule ^(.*)$ /www/$1 [L,NE]


zde přikládám obsah htacess ve složce www
# disable directory listing
<IfModule mod_autoindex.c>
    Options -Indexes
</IfModule>

# enable cool URL
<IfModule mod_rewrite.c>
    RewriteEngine On
    #RewriteBase /

    # use HTTPS
    RewriteCond %{HTTP:X-Forwarded-Proto} !https
    RewriteCond %{HTTP_USER_AGENT} !(BlackBerry)
    RewriteCond %{HTTP_USER_AGENT} !(Windows\sNT\s5\.[12])
    RewriteCond %{HTTPS} !on
    RewriteRule .? https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]


    # prevents files starting with dot to be viewed by browser
    RewriteRule /\.|^\.(?!well-known/) - [F]

    # front controller
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule !\.(pdf|js|ico|gif|jpg|png|css|rar|zip|tar\.gz|map)$ index.php [L]
   
</IfModule>

# enable gzip compression
<IfModule mod_deflate.c>
    <IfModule mod_filter.c>
        AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/javascript application/json application/xml image/svg+xml
    </IfModule>
</IfModule>

Pokud byste tam někdo našel jakoukoliv chybu budu moc vděčný, routy jsem zkuoumal, těmi to není a můžu vyloučit.

Typy pro administrátory serveru zde:
https://stackoverflow.com/questions/133 … p-to-https
https://www.namecheap.com/support/knowl … t-to-https
https://httpd.apache.org/docs/trunk/rew … pping.html
https://stackoverflow.com/questions/119 … apache-ssl

s pozdravem
FV

Offline

#2 2019-09-05 07:30:16

JF
Endora rádce
Místo: Plzeň
Registrován: 2010-06-22
Příspěvky: 10,636
Web

Re: SSL certifikát nefunguje validně s htaccess pro NetteFramework

Dobrý den, rovnaký problém jsem vygooglil zde https://forum.nette.org/cs/29576-nette- … s-redirect třeba vám to pomůže.


Ján Fačkovec - Helpdesk Endora.cz
Email: jan.fackovec(zavináč)endora.cz, Web: www.endora.cz
Zlepšite si stránku českým validátorom!

Offline

#3 2019-09-05 09:31:54

rmracingserviscz
Endora uživatel
Registrován: 1970-01-01
Příspěvky: 2

Re: SSL certifikát nefunguje validně s htaccess pro NetteFramework

Dobrý den, děkuji za tip.
Úplně to nefungovalo, ale navedlo mě to na dalších vláknech na řešení poblému. Váš server je zjevně podobně nastaven jako Active24. Zasílám obsahy souborů pro další nešťastníky, jako jsem byl včera já smile

htaccess ve složce www:
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^$ www/ [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} !^www/
    RewriteRule ^(.*)$ www/$1
</IfModule>

htaccess ve složce www:
# disable directory listing
<IfModule mod_autoindex.c>
    Options -Indexes
</IfModule>

# enable cool URL
<IfModule mod_rewrite.c>
    RewriteEngine On
    #RewriteBase /

    # use HTTPS
    RewriteCond %{HTTP:X-Forwarded-Proto} !https
    RewriteCond %{HTTP_USER_AGENT} !(BlackBerry)
    RewriteCond %{HTTP_USER_AGENT} !(Windows\sNT\s5\.[12])
    RewriteCond %{HTTPS} !on
    RewriteCond %{HTTP:X-Forwarded-Proto} !^https$
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,NE,L]


    # prevents files starting with dot to be viewed by browser
    RewriteRule /\.|^\.(?!well-known/) - [F]

    # front controller
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule !\.(pdf|js|ico|gif|jpg|png|css|rar|zip|tar\.gz|map)$ index.php [L]
   
</IfModule>

# enable gzip compression
<IfModule mod_deflate.c>
    <IfModule mod_filter.c>
        AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/javascript application/json application/xml image/svg+xml
    </IfModule>
</IfModule>

ve složce www index.php uplně nahoru:
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO'])) {
    if ($_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https' && isset($_SERVER['SERVER_PORT']) && in_array($_SERVER['SERVER_PORT'], [80, 82])) { // https over proxy
        $_SERVER['HTTPS'] = 'On';
        $_SERVER['SERVER_PORT'] = 443;
    } elseif ($_SERVER['HTTP_X_FORWARDED_PROTO'] === 'http' && isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == 80) { // http over proxy
        $_SERVER['HTTPS'] = 'Off';
        $_SERVER['SERVER_PORT'] = 80;
    }
}

pomohl mi odkaz zde:
https://forum.nette.org/cs/30089-ssl-u- … -ve-slozce

s pozdravem
FV

Offline

Zápatí

Založeno na FluxBB | CZ a SK