HTTPS-átirányítás
A teszt azt nézi, hogy a http:// cím átirányít-e a https:// változatra; ha nem, állíts be átirányítást a szerveren vagy a Cloudflare-ben.
A teszt azt ellenőrzi, hogy aki http:// címen érkezik az oldaladra (régi linkről, könyvjelzőről, kézzel beírt címmel), átkerül-e a titkosított https:// változatra. Ha nem, a látogató titkosítatlan kapcsolaton marad: a forgalmát útközben bárki olvashatja vagy módosíthatja, és a böngésző „nem biztonságos” jelzést mutat. A riportban a teszt súlyossága magas.
Az átirányítás a HSTS előfeltétele is: a böngésző a HSTS-fejlécet csak https-válaszból fogadja el, ezért előbb át kell vinni a látogatót a https-re (lásd: HSTS).
Hogyan mérjük
Szekció neve “Hogyan mérjük”A riport egyetlen kérést küld a http://<host>/ címre, átirányítás követése nélkül, és a közvetlen választ nézi. A <host> a vizsgált domain, vagy www. előtaggal a domain, ha a csupasz domain nem válaszol.
- Megfelelő:
- A válasz státuszkódja 301, 302, 307 vagy 308, van
Locationfejléce, és ezhttps://címre mutat ugyanarra a domainre. Awww.előtagot a mérés nem veszi figyelembe, tehátexample.com→https://www.example.com/is megfelelő. - A
http://kérés egyáltalán nem sikerül (nincs nyitott 80-as port, kapcsolódási hiba vagy időtúllépés). Ilyenkor nincs titkosítatlan bejárat, ezért a teszt megfelel.
- A válasz státuszkódja 301, 302, 307 vagy 308, van
- Hiba:
- A válasz nem átirányítás (például 200 vagy 404).
- Az átirányításban nincs
Locationfejléc, vagy az nem értelmezhető. - A
Locationhttp://címre, vagy másik domainre mutat.
Amit a teszt nem néz: az átirányítás útvonalát (hogy a kért oldalra visz-e, vagy mindig a nyitóoldalra), az átirányítási láncot, és hogy a kód pontosan 301-e. A javító kártya tartós (301) átirányítást javasol, a mérés viszont a 302-t, 307-et és 308-at is elfogadja.
Ha az https:// most nem működik rendesen (lejárt vagy hiányzó tanúsítvány), a riport kártyája azt mondja, hogy előbb azt javítsd: az átirányítás ilyenkor elérhetetlenné tenné az oldalt. Lásd: TLS-tanúsítvány.
Hogyan javítsd
Szekció neve “Hogyan javítsd”Előbb győződj meg róla, hogy az https:// változat érvényes tanúsítvánnyal működik. Utána válaszd a szervered szerinti módszert. A kártya kódja mindegyik változatnál a www. nélküli és a www. névre is érvényes; cseréld a példában szereplő example.com nevet a sajátodra.
nginx
Szekció neve “nginx”A meglévő, 80-as portú server blokk helyére írd, ne vegyél fel mellé újat:
server { listen 80; listen [::]:80; server_name example.com www.example.com; return 301 https://$host$request_uri;}A return 301 <URL> az nginx dokumentációja szerint átirányítást küld a megadott címre, a $host$request_uri pedig megtartja a kért gépnevet és útvonalat.
Apache (.htaccess)
Szekció neve “Apache (.htaccess)”Tedd a webroot .htaccess fájljának elejére, minden más átírási szabály elé. WordPressnél a # BEGIN WordPress blokk fölé: alatta a WordPress szabálya az index.php-ra írja át a címeket, és az átirányítás csak a nyitóoldalon futna le.
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTPS} !=on RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]</IfModule>Ha eléred a virtual host konfigurációt, az Apache dokumentációja ezt tartja a legtisztább megoldásnak: külön 80-as virtual host, benne Redirect permanent:
<VirtualHost *:80> ServerName example.com Redirect permanent "/" "https://example.com/"</VirtualHost>Ha a Cloudflare „Flexible” SSL-módban áll az oldalad előtt, a fenti szabály végtelen átirányítást okoz. Ilyenkor használd a Cloudflare-változatot, vagy állítsd az SSL-módot „Full (strict)”-re.
Cloudflare
Szekció neve “Cloudflare”Ha az oldal a Cloudflare mögött van, a peremen is beállítható: SSL/TLS → Edge Certificates → Always Use HTTPS: On.
Always Use HTTPS: OnA Cloudflare dokumentációja szerint a beállítás az összes http kérést https-re irányítja, és azt javasolja, hogy ne irányíts át a saját szervereden is, mert az átirányítási hurkot okozhat. A beállítás csak akkor jelenik meg, ha az SSL/TLS titkosítási mód nem „Off”.
Hogyan ellenőrizd
Szekció neve “Hogyan ellenőrizd”Futtasd újra a riportot a domainre. Parancssorból a válasz fejléceit így nézheted meg:
curl -I http://example.com/A válasz első sorában 301-et (vagy más átirányítási kódot), a location fejlécben pedig https:// címet kell látnod. A tanúsítvány és a TLS-beállítás részletes ellenőrzéséhez használhatod az SSL Labs tesztjét is.
Készült: