WP Migrate DB Pro (Română)
Configurarea locală a HTTPS poate fi o afacere dificilă. Chiar dacă reușiți să luptați cu certificatele autosemnate pentru a le trimite, veți primi în continuare erori de confidențialitate ale browserului. În acest articol, vom parcurge crearea propriei autorități de certificare pentru serverele dvs. locale, astfel încât să puteți rula site-uri HTTPS local fără probleme.
De ce HTTPS local?
De ce nu doar folosiți HTTP regulat local? Deoarece dacă site-ul dvs. de producție este numai HTTPS și vă dezvoltați local pe HTTP obișnuit, mediile dvs. de producție și de producție nu sunt la fel de asemănătoare pe cât ar putea fi. De exemplu, mediul meu de dezvoltare pentru acest site (deliciousbrains.com) rulează ca un server Ubuntu într-o mașină virtuală VMware (VM) pe Mac-ul său. Site-ul de producție este un server Ubuntu care rulează pe Linode cu o configurație aproape identică.
Cu siguranță doriți ca mediul dvs. de dezvoltare să oglindească producția cât mai aproape posibil.
Când nu, invitați mai multe probleme apărând în producție care nu a apărut în dev. Rularea HTTP atunci când site-ul dvs. de producție este numai HTTPS este cu siguranță un risc inutil.
Cu toate acestea, încercarea de a obține un certificat SSL care funcționează cu serverul dvs. local este o problemă dacă nu utilizați un instrument care îl gestionează pentru dvs. vă place Valet.
Dacă ați încercat vreodată să rulați un site HTTPS local, probabil că ați văzut ceva de genul acesta în Chrome:
Soluția obișnuită a fost crearea unui certificat auto-semnat și utilizarea acestuia. MAMP Pro face acest lucru pentru tine și a fost cel mai bun lucru de ani de zile. Din păcate, acest lucru nu mai este posibil. Abordarea modernă este de a deveni propria dvs. Autoritate de certificare (CA)!
Cum funcționează
Pentru a solicita un certificat SSL de la o CA precum Verisign sau GoDaddy, le trimiteți o Semnătură de certificat Request (CSR) și vă dau în schimb un certificat pe care l-au semnat folosind certificatul rădăcină și cheia privată. Toate browserele au o copie (sau accesează o copie din sistemul de operare) a certificatului rădăcină al Verisign, astfel încât browserul să poată verifica dacă certificatul dvs. a fost semnat de un CA de încredere.
De aceea, atunci când generați un certificat semnat, browserul nu are încredere în el. Este autosemnat. Nu a fost semnat de un CA. Dar putem genera propriul certificat rădăcină și cheia privată. Apoi adăugăm certificatul rădăcină la toate dispozitivele pe care le deținem o singură dată, iar apoi toate certificatele pe care le generăm și le semnăm vor fi în mod inerent de încredere.
Devenind o autoritate de certificare (mică)
Este cam ridicol cât de ușor este să generezi fișierele necesare pentru a deveni o autoritate de certificare. Este nevoie doar de două comenzi. Mai întâi, generăm cheia noastră privată:
Vi se va solicita o expresie de acces, pe care vă recomand să nu o săriți și să o păstrați în siguranță. Fraza de trecere va împiedica pe oricine care obține cheia dvs. privată să genereze un certificat rădăcină propriu. Rezultatul ar trebui să arate astfel:
Apoi generăm un certificat rădăcină:
Vi se va solicita expresia de acces a cheii dvs. private (pe care tocmai ai ales-o) și o grămadă de întrebări. Răspunsurile la aceste întrebări nu sunt atât de importante. Acestea apar când vă uitați la certificat, ceea ce aproape niciodată nu veți face. Vă sugerez să faceți din Common Name ceva pe care îl veți recunoaște ca certificat rădăcină într-o listă cu alte certificate. Acesta este cu adevărat singurul lucru care contează.
Acum ar trebui să aveți două fișiere: myCA.key (cheia dvs. privată) și myCA.pem (certificatul dvs. rădăcină) ).
🎉 Felicitări, acum ești CA. Un fel de.
Pentru a deveni un CA real, trebuie să obțineți certificatul rădăcină pe toate dispozitivele din lume. Să începem cu cele pe care le dețineți.
Instalarea certificatului dvs. rădăcină
Trebuie să adăugăm certificatul rădăcină oricărui laptop, desktop, tabletă și telefon care va accesa site-urile dvs. HTTPS . Acest lucru poate fi un pic dureros, dar vestea bună este că trebuie să o facem o singură dată. Odată ce certificatul nostru rădăcină este pe fiecare dispozitiv, acesta va fi bun până când expiră.
Adăugarea certificatului rădăcină la brelocul macOS
Prin CLI
Prin interfața de utilizare
- Deschideți aplicația MacOS Keychain
- Accesați Fișier > Importați articole …
- Selectați fișierul dvs. cu cheie privată (adică myCA.pem)
- Căutați orice ați răspuns ca numele Common Name de mai sus
- Faceți dublu clic pe certificatul dvs. rădăcină din listă
- Extindeți secțiunea de încredere
- Schimbați caseta Când utilizați acest certificat: selectați „Întotdeauna Încredere ”
- Închideți fereastra certificatului
- Vă va cere să introduceți parola (sau să scanați degetul), faceți asta
- 🎉 Sărbătoriți!
Adăugarea certificatului rădăcină la iOS
Dacă doriți să adăugați certificatul rădăcină pe dispozitivele dvs. iOS, puteți face acest lucru destul de ușor urmând acești pași:
- Trimiteți-vă certificatul rădăcină prin e-mail, astfel încât să îl puteți accesa pe dispozitivul dvs. iOS
- Faceți clic pe atașamentul din e-mail pe dispozitivul dvs. iOS
- Accesați aplicația de setări și faceți clic pe „Profil descărcat” în partea de sus
- Faceți clic pe instalare în partea dreaptă sus
- După instalare, apăsați închidere și reveniți la pagina principală de setări >
- Accesați „General” > „Despre”
- Derulați în partea de jos și faceți clic pe „Setări de încredere a certificatului”
- Activați certificatul dvs. rădăcină sub „ACTIVAȚI ÎNCREDERE COMPLETĂ PENTRU CERTIFICATE DE RĂDĂCINĂ”
Crearea certificatelor semnate CA pentru Site-uri de dezvoltare
Acum că suntem CA pe toate dispozitivele noastre, putem semna certificate pentru orice site-uri de dezvoltare noi care au nevoie de HTTPS. Mai întâi, creăm o cheie privată:
Apoi creăm un CSR:
Veți primi toate aceleași întrebări ca mai sus și, din nou, răspunsurile dvs. nu contează. De fapt, ele contează și mai puțin, deoarece nu veți privi acest certificat într-o listă lângă alții.
În continuare vom crea certificatul folosind CSR-ul nostru, cheia privată CA, certificatul CA și un fișier de configurare, dar mai întâi trebuie să creăm acel fișier de configurare.
Fișierul de configurare este necesar pentru a defini extensia Subject Alternative Name (SAN) care este definit în această secțiune (adică extensie) a certificatului:
Fișierul de configurare (dev.deliciousbrains.com. ext) conținea următoarele:
Vom rula comanda openssl x509
deoarece din câte am înțeles, comanda x509 este necesară pentru a face semnarea cu certificatul rădăcină și cheia privată. Am găsit acest exemplu de fișier de configurare pe Stack Overflow și pare să funcționeze.
Acum executăm comanda pentru a crea certificatul:
Acum îmi pot configura serverul web cu cheia privată și certificatul. Dacă rulați un server Linux, puteți utiliza instrucțiunile din Instalarea WordPress pe seria Ubuntu 20.04 Dacă utilizați MAMP, puteți selecta certificatul și fișierele cheie utilizând UI:
Din păcate, MAMP (testat cu versiunea 5.7) nu creează certificate SSL cu un CA, deci va trebui să utilizați metoda manuală pentru moment.
Pentru orice alte site-uri de dezvoltare, putem doar să repetăm această ultimă parte a creării unui certificat, nu trebuie să creăm o nouă CA pentru fiecare site.
Shell Script
Pentru a face lucrurile și mai rapide, iată un script shell util pe care îl puteți modifica în scopuri proprii:
Concluzie
Deci, acolo aveți, cum să deveniți propriul certificat local autoritatea de a semna certificatele SSL locale și de a utiliza HTTPS pe site-urile dvs. locale. Sperăm că acest lucru va elimina mesajul temut „Conexiunea dvs. nu este privată” pentru dvs. în Chrome.