Moodul 4 · 4.1
https ja korralik ümbersuunamine
Moodul 4: Kiirus, mobiil ja https · Lugemisaeg: 11 minutit
Õpieesmärk: Pärast seda õppetundi oskad selgitada, miks https on oluline nii otsingumootoritele kui ka külastajatele, nimetada püsiva ja ajutise ümbersuunamise erinevust ning kontrollida, et kõik su aadressi variandid jõuavad ühe sammuga samale https-lehele.
Põhimõisted: https, sertifikaat, ümbersuunamine (redirect), 301 ja 308 (püsiv), 302 ja 307 (ajutine), ümbersuunamiste ahel, eelistatud aadress, www-ga või ilma, HSTS, segasisu
Neli aadressi ühe avalehe jaoks
Kui kirjutad veebisaidi nime aadressiribale, võib brauser jõuda neljas eri kohas:
| Variant | Näide |
|---|---|
| http ilma www-ta | http://example.com/ |
| http koos www-ga | http://www.example.com/ |
| https ilma www-ta | https://example.com/ |
| https koos www-ga | https://www.example.com/ |
Sinu jaoks on see üks sait. Otsingumootori jaoks on need neli eri aadressi. Kui kõik neli näitavad sama lehte, peab Google ise valima, milline on "päris" aadress. Google nimetab seda kanooniliseks aadressiks (õppetund 3.5 käsitleb seda põhjalikumalt). Google soovitab valida ise ühe eelistatud aadressi ja suunata teised variandid sinna ümber. Siis ei teki kahtlust ja lingid igale variandile lähevad arvesse sama lehe heaks.
Bloemenatelier Lotte valib https://www.example.com/. Ülejäänud kolm varianti suunavad sinna. Kas valid www-ga või ilma, pole otsingumootorite jaoks oluline. Tähtis on teha üks valik ja pidada sellest kõikjal kinni: menüüs, saidikaardis, canonical-viites ja ettevõtteprofiilis.
Miks https
https tähendab, et ühendus brauseri ja serveri vahel on sertifikaadi abil krüpteeritud. Keegi teel olev ei saa pealt lugeda ega lehte muuta, näiteks avalikus wifis.
Otsingumootorite jaoks on https oluline kahel moel:
- Signaalina. Google teatas 2014. aastal, et https on järjestamise signaal, kuid nimetas seda tollal "väga kergeks signaaliks", mis kaalub vähem kui hea sisu. Lehekogemuse dokumentatsioonis on https üks küsimustest, mida peaksid endalt küsima ("kas su lehed edastatakse turvaliselt?"). Ära seda üle hinda: ainult https ei vii sind tulemuste tippu.
- Külastajate jaoks. Brauserid näitavad http-lehe juures teadet "Pole turvaline", eriti kui lehel on vorm. Külastaja, kes seda näeb, lahkub kiiremini. Seda märkad külastatavuses, mitte järjestamise reeglis.
Kehtiva sertifikaadi saab tänapäeval tasuta Let's Encrypti kaudu. Enamik majutusettevõtteid, ka WebOké, taotleb ja uuendab seda automaatselt. Jälgi, et sertifikaat kataks mõlemad nimed: ilma www-ta ja koos sellega. Kui see katab ainult example.com, annab https://www.example.com/ sertifikaadivea juba enne, kui ümbersuunamine saab toimuda.
Püsiv või ajutine ümbersuunamine
Ümbersuunamine (redirect) on serveri vastus: "see leht asub mujal". Selleks kasutatakse kolmekohalist olekukoodi, mis algab numbriga 3, ning päist Location uue aadressiga.
| Kood | Tähendus | Mida Google sellega teeb |
|---|---|---|
| 301 | Jäädavalt teisaldatud | Tugev signaal, et sihtaadress on kanooniline |
| 308 | Jäädavalt teisaldatud (meetod jääb samaks) | Sama mis 301 |
| 302 | Ajutiselt leitud | Signaali pole; vana aadress jääb sageli tulemustesse |
| 307 | Ajutine (meetod jääb samaks) | Sama mis 302 |
Google Search Centrali järgi kasutab indekseerimine püsivat ümbersuunamist signaalina, et sihtaadress peaks saama kanooniliseks. Ajutise ümbersuunamise puhul seda ei juhtu: vana aadress jääb enamasti tulemustesse. Üleminek http-lt https-le ning www-ga või ilma valik on püsivad olukorrad. Kasuta seega koodi 301 või 308.
Ümbersuunamist saad ise vaadata. Terminalis:
$ curl -sI http://example.com/
HTTP/1.1 301 Moved Permanently
Location: https://www.example.com/Või brauseris: ava arendaja tööriistad (F12), vahekaart Võrk, lülita sisse valik, mis säilitab logi uue lehe laadimisel, ja laadi http-aadress. Näed siis iga sammu koos selle koodiga.
Ümbersuunamiste ahelad
Ümbersuunamiste ahel tähendab ümbersuunamist aadressile, mis ise suunab omakorda edasi. Levinud näide:
http://example.com/ 301 → https://example.com/
https://example.com/ 301 → https://www.example.com/
https://www.example.com/ 200See töötab, kuid iga esimese külastuse ajal kulub üks lisa edasi-tagasi päring serverisse. web.dev nimetab ümbersuunamisi üheks serveri aeglase esmavastuse põhjuseks (õppetund 4.3): iga samm lisab aega ja ahelad veel rohkem. Parem on, kui iga variant jõuab ühe sammuga eelistatud aadressile:
http://example.com/ 301 → https://www.example.com/
http://www.example.com/ 301 → https://www.example.com/
https://example.com/ 301 → https://www.example.com/
https://www.example.com/ 200Teise nimega vana http-aadressi puhul ei õnnestu see alati ühe sammuga, sest mõne seadistuse korral suunab server esmalt sama nime https-aadressile ja alles siis teisele nimele. Kaks sammu on siis vastuvõetav; kolm või rohkem on põhjus seadistus üle vaadata. Silmus (A suunab B-le, B suunab tagasi A-le) on alati viga: leht ei avane siis üldse.
HSTS: brauser jätab selle meelde
HSTS (HTTP Strict Transport Security, RFC 6797) on päis, mille server saadab https kaudu kaasa:
Strict-Transport-Security: max-age=31536000Brauser, kes on seda korra näinud, läheb edaspidi selle saidi puhul ise kohe https-le, proovimata enne http-d. See säästab esimese ümbersuunamise ja kaitseb pealtvaatajate eest. web.dev nimetab HSTS-i ka viisiks vältida ümbersuunamist http-lt https-le. Otsingumootorite jaoks pole HSTS signaal; külastajate jaoks on see parandus. Lülita see sisse alles siis, kui https töötab kõigil nimedel korralikult, sest brauser mäletab seda nii kaua, kui max-age ütleb. Kursus Veilig online (Turvaliselt veebis) käsitleb seda põhjalikumalt.
Segasisu
Kui https-leht laadib pildi, skripti või stiililehe aadressilt http://, on lehel segasisu (mixed content). Brauserid blokeerivad ebaturvalised skriptid ja stiililehed või näitavad hoiatust. Pärast üleminekut https-le näed seda sageli vanade tekstisiseste piltide või fikseeritud aadressidega teema puhul. Otsi lähtekoodist src="http:// ja href="http:// ning asenda need https-ga või suhtelise aadressiga.
Praktikas: https-le suunamise seadistamine
WebOké majutuspaketi puhul lülitad https-le suunamise sisse DirectAdminis domeeni seadete juures (lüliti "Force SSL with https redirect") ja valid samal lehel valiku "Force redirect" juures, kas kasutad www-ga või ilma aadressi. Kasuta ümbersuunamiseks ühte kohta: kaks reeglit, mis teevad kumbki midagi muud (näiteks paneelis ja pluginas), tekitavad kergesti silmuse. AI Builderiga tehtud sait saab avaldamisel sertifikaadi ja oma aadressi. WordPressis sisestad menüüs Settings, General WordPressi aadressi ja saidi aadressi koos https:// ja valitud nimega; ümbersuunamise ise seadistad serveris. Teiste teenusepakkujate ja veebilehe koostajate juures toimib see sarnaselt, ainult nupud on teise nimega.
Kui soovid seda teha failiga .htaccess (Apache või LiteSpeed), suunab see kõik variandid ühe sammuga aadressile https://www.example.com:
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
RewriteRule ^ https://www.example.com%{REQUEST_URI} [R=301,L]Kontrolli pärast seda alati kõiki nelja varianti, ka koos teekonnaga (http://example.com/contact): teekond peab säilima, mitte hüppama avalehele.
Kokkuvõte
- Vali üks eelistatud aadress (https, www-ga või ilma) ja suuna teised variandid sinna ümber.
- Kasuta püsivate ümbersuunamiste jaoks koodi 301 või 308; 302 ja 307 on ajutised ega anna Google'ile kanoonilise aadressi kohta signaali.
- Lase igal variandil jõuda eelistatud aadressile ühe, kõige rohkem kahe sammuga; ahelad võtavad aega ja silmused rikuvad saidi.
- https on Google'i sõnul kerge järjestamise signaal; külastajate jaoks on see eelkõige usalduse küsimus. Sertifikaat peab katma mõlemad nimed.
- HSTS paneb brauseri ise https-le minema; segasisu korista pärast üleminekut ära.
Test
Ülesanne
Ülesanne A4.1: Kas kõik suunatakse ühe sammuga https-le? Sisesta oma domeeninimi (ilma www-ta). Programm proovib kõiki nelja varianti (http ja https, www-ga ja ilma), järgib iga ümbersuunamist samm-sammult ja kontrollib mõlema nime sertifikaati. Näed iga variandi kohta ahelat koos olekukoodidega, kas kõik jõuavad samale https-aadressile ja kas HSTS-päis on olemas. Oma saiti pole? Kasuta aadressi rijksoverheid.nl.
Loe edasi
Nende artiklite sammud kehtivad WebOké paneelide kohta; teiste teenusepakkujate juures toimib see sarnaselt.
- DirectAdmin juhend 6.4: Külastajate suunamine alati https peale
- DirectAdmin juhend 4.3: Domeeni seaded: SSL, PHP, www ja private_html
- DirectAdmin juhend 6.3: Sertifikaat www jaoks, alamdomeenide jaoks ja wildcard sertifikaat
- Suuna külastajad kohustuslikult https-ile
- Tasuta DNS-kursus 3.4: www, suunamine ja mida DNS ei tee
- Google Search Central, Redirects and Google Search: https://developers.google.com/search/docs/crawling-indexing/301-redirects
- Google Search Central Blog, HTTPS as a ranking signal (2014): https://developers.google.com/search/blog/2014/08/https-as-ranking-signal
- RFC 6797 (HSTS): https://www.rfc-editor.org/rfc/rfc6797
