Modulul 3 · 3.1
Https și certificatul
Modulul 3: Adresă, https și utilizatori · Timp de citire: 8 minute
Obiectiv de învățare: După această lecție veți putea trece o site WordPress complet pe https și veți ști ce fac adresa WordPress și adresa site-ului.
Concepte-cheie: TLS, certificat, Let's Encrypt, reînnoire automată, adresă WordPress (siteurl), adresă site (home), WP_HOME și WP_SITEURL, HSTS, blocare în afara contului
Ce face https
Cu https, tot ce circulă între browser și server este criptat: parole, formulare, cookie-uri, chiar și paginile obișnuite. Fără https, oricine se află pe aceeași rețea (un wifi public, un router compromis) poate citi și chiar modifica pagina. Browserele afișează o site fără https ca fiind „nesigură”, iar unele funcții (cum ar fi locația sau camera) funcționează doar cu https.
Criptarea se numește TLS. Pentru a dovedi că browserul comunică într-adevăr cu example.com și nu cu un intermediar, serverul deține un certificat: o dovadă digitală, semnată de un emitent în care browserele au încredere. Certificatul specifică numele pentru care este valabil și până când.
Certificate gratuite și reînnoirea lor
Let's Encrypt emite certificate gratuite. Aproape orice furnizor de găzduire le solicită automat și le reînnoiește tot automat. Un certificat Let's Encrypt este în prezent valabil 90 de zile, iar Let's Encrypt a anunțat că va reduce treptat această valabilitate la 45 de zile. Reînnoirea manuală nu este, prin urmare, o opțiune: trebuie să fie automată.
Un certificat plătit nu criptează mai bine. Diferența constă în verificarea suplimentară a organizației (și, uneori, o garanție). Pentru majoritatea site-urilor, un certificat gratuit este suficient.
La ce trebuie să fiți atenți:
- Certificatul trebuie să acopere fiecare nume pe care un vizitator îl poate introduce:
example.comșiwww.example.com. Inclusiv numele care doar redirecționează, deoarece browserul verifică certificatul înainte de redirecționare. - Reînnoirea automată funcționează doar dacă DNS-ul indică spre serverul dumneavoastră. Dacă ați mutat DNS-ul sau ați pus în față un proxy (precum Cloudflare), verificați dacă reînnoirea încă funcționează.
- O înregistrare CAA în DNS poate stabili ce emitenți pot crea certificate. Dacă Let's Encrypt nu este inclus acolo, cererea eșuează (lecția 5.2 din cursul DNS).
Două adrese în WordPress
Sub Setări > Generale apar două adrese. Par o dublare inutilă, dar au semnificații diferite:
| Câmp | În baza de date | Semnificație |
|---|---|---|
| Adresă WordPress (URL) | siteurl | Unde se află fișierele WordPress (wp-admin, wp-includes) |
| Adresă site (URL) | home | Adresa pe care o folosesc vizitatorii |
De obicei sunt identice, de exemplu amândouă https://example.com. Diferă doar atunci când WordPress se află într-un subfolder, dar site-ul trebuie să apară în folderul principal.
WordPress construiește toate legăturile cu aceste adrese: către pagini, foi de stiluri, imagini, panoul de control. Dacă aici apare http://, WordPress construiește paginile cu legături http://, chiar dacă vizitatorul ajunge prin https. Aceasta duce la conținut mixt (lecția 3.2) și redirecționări repetate.
Trecerea unei site la https
Dacă aveți o site existentă pe http, acestea sunt pașii:
- Solicitați certificatul pentru ambele nume și verificați că
https://example.comfuncționează (veți vedea o pagină WordPress, poate încă fără formatare). - Faceți o copie de siguranță (lecția 8.1).
- Setați ambele adrese din Setări > Generale pe
https://și salvați. Veți fi deconectat; autentificați-vă din nou prin https. - Convertiți legăturile vechi din conținut de la
http://example.comlahttps://example.com. Faceți acest lucru cu un instrument care înțelege datele serializate, precumwp search-replacesau un modul (plugin) de căutare și înlocuire (lecția 3.2), niciodată cu o comandă SQL simplă. - Redirecționare: lăsați serverul web să trimită toate cererile pe http cu un cod 301 către https (lecția 3.2). Multe servicii de găzduire au o bifă pentru asta; altfel, câteva linii în
.htaccess. - Verificați cu exercițiul din această lecție și cu cel din lecția 3.2.
Blocat în afara contului: când adresa este greșită
Dacă introduceți o greșeală de tastare la adrese (htps://, un domeniu greșit), WordPress vă va trimite după salvare la acea adresă greșită. Nu veți mai putea accesa panoul de control. Fără panică, există două soluții:
Prin wp-config.php. Adăugați deasupra liniei „nu mai editați de aici” următoarele:
define( 'WP_HOME', 'https://example.com' );
define( 'WP_SITEURL', 'https://example.com' );Aceste linii au prioritate față de valorile din baza de date. Câmpurile din Setări > Generale vor deveni gri. Autentificați-vă, setați valorile corecte în baza de date și eliminați din nou liniile (sau lăsați-le intenționat acolo, astfel nimeni nu poate modifica adresele accidental din panoul de control).
Prin phpMyAdmin. Deschideți tabelul wp_options și ajustați valorile siteurl și home.
HSTS: ca browserul să țină minte
Prin antetul HSTS (Strict-Transport-Security), serverul îi spune browserului: „de acum înainte, vino aici doar prin https.” Browserul va converti apoi singur orice http:// în https://, fără a mai face mai întâi o cerere nesecurizată.
Strict-Transport-Security: max-age=31536000; includeSubDomainsHSTS este un pas suplimentar bun, dar cu un avertisment: un browser care a văzut deja HSTS va refuza să deschidă ulterior site-ul fără un certificat valid, nici măcar cu opțiunea „continuați totuși”. Cu includeSubDomains, acest lucru se aplică fiecărui subdomeniu. Dacă aveți un subdomeniu fără certificat (de exemplu, un sistem intern vechi), acesta devine inaccesibil după activarea HSTS. Prin urmare, începeți cu o valoare max-age scurtă (de exemplu, o zi, 86400), verificați totul, apoi prelungiți-o.
În practică: cum arată într-un panou de control
Ca exemplu, folosim DirectAdmin. În cPanel, componenta se numește SSL/TLS Status (AutoSSL), iar în Plesk, SSL/TLS Certificates.
- Deschideți Certificate SSL la domeniul dumneavoastră și alegeți Certificat gratuit și automat de la Let's Encrypt.
- Bifați
example.comșiwww.example.comși solicitați certificatul. - La setările domeniului, bifați opțiunea de a trimite întotdeauna vizitatorii către https (la DirectAdmin: Forțare SSL cu redirecționare https). Folosiți o singură metodă de redirecționare: două metode diferite simultan pot cauza o buclă („prea multe redirecționări”).
- Accesați în WordPress Setări > Generale și setați ambele adrese pe
https://.
Rezumat
- https criptează tot ce circulă între browser și server; certificatul dovedește identitatea serverului.
- Certificatele gratuite de la Let's Encrypt sunt valabile pe perioade scurte și se reînnoiesc automat; trebuie să acopere fiecare nume pe care îl introduce un vizitator.
- Adresa WordPress (siteurl) și adresa site-ului (home) trebuie să fie ambele pe
https://. - Dacă rămâneți blocat din cauza unei adrese greșite, corectați-o cu WP_HOME și WP_SITEURL în wp-config.php sau în phpMyAdmin.
- HSTS este un pas suplimentar bun; începeți cu o valabilitate scurtă.
Test (quiz)
Exercițiu
Exercițiu A3.1: Este corect certificatul dumneavoastră? Introduceți adresa site-ului dumneavoastră. Programul stabilește o conexiune TLS cu numele fără www și cu www (dacă există) și verifică: este certificatul valid și de încredere, acoperă ambele nume, este valabil mai mult de 14 zile și trimite site-ul un antet HSTS? Dacă lipsește HSTS, aceasta apare portocaliu cu o explicație, nu ca eroare.
Lecturi suplimentare
Aceste articole descriu pașii din panourile de control ale WebOké; în alte panouri funcționează similar.
- Manual DirectAdmin 6.1: Ce este SSL și cum se ocupă WebOké de el?
- Manual DirectAdmin 6.2: Cum solicitați un certificat gratuit Let's Encrypt
- Manual DirectAdmin 6.3: Certificat pentru www, subdomenii și wildcard
- Manual DirectAdmin 6.4: Vizitatorii întotdeauna direcționați către https
- Activarea, reînnoirea și depanarea certificatului SSL
- Diferența dintre un certificat gratuit și unul plătit
- Curs gratuit de DNS 5.2: CAA: cine are voie să emită certificate?
