Ce zici de a avea mediul de dezvoltare locală accesibil prin HTTPS fără avertizare SSL?


Ca dezvoltator, este posibil să fiți nevoit să lucrați la mai multe proiecte, clienți și aplicații web. Una dintre condițiile preliminare pentru dezvoltarea aplicațiilor web este testarea site-urilor web pe browser în faza de dezvoltare. Șanse foarte mari ca aplicația pe care o dezvoltați să fie securizată cu certificat SSL / TLS într-un mediu de producție.

De acord?

Ce-ar fi dacă trebuie să testați anumite funcționalități folosind API-ul terților care necesită ca origine să fie https: //?

Puteți spune certificat auto-semnat și nu este nimic în neregulă cu asta. Dar ați încercat să accesați site-ul implementat certificat semnat cu sine? Veți primi în continuare avertisment cert pe Chrome și alte browsere.

Vedeți Nu este securizat insignă?

Nu este bine, nu?

Cel mai bun mod de a avea un certificat SSL valabil în mediul de dezvoltare este prin administrarea propriului CA și a acestuia cu mkcert. O aplicație ușoară care vă permite să aveți un certificat valid pe următoarea adresă web de dezvoltare locală.

  • example.com
  • * .example.com
  • example.test
  • gazdă locală
  • 127.0.0.1
  • :: 1

Puteți implementa mkcert pe macOS, Windows, CentOS, Ubuntu și alte sisteme de operare bazate pe UNIX. Următorul exemplu este de la Ubuntu.

În primul rând, instalăm instrumentele de servicii de securitate de rețea care au certificat pentru a gestiona baza de date de certificate.

actualizare apt-get
apt-get install libnss3-tools

De asemenea, poate fi necesar să vă asigurați că brew-ul este instalat pe serverul dvs. Dacă nu instalați folosind următoarea comandă.

apt-get install linuxbrew-wrapper

și, în sfârșit, instalați mkcert folosind brew.

brew instala mkcert

Notă: pentru a instala cu brew nu ar trebui să fii root. și se instalează în /home/$USER/.linuxbrew/bin/mkcert

Unde $ USER este numele de utilizator pe care l-ați folosit

Acum, a venit momentul să instalezi CA local în magazinul de încredere al sistemului.

[Email protected]: ~ / mkcert # /home/chandan/.linuxbrew/bin/mkcert -install
Utilizarea CA local la "/root/.local/share/mkcert" ✨
CA local este acum instalat în magazinul de încredere al sistemului! ⚡️

[Email protected]: ~ / Mkcert #

Și, ulterior, generați un certificat pentru mediul de dezvoltare. Să spunem că aveți site-ul dvs. web pe example.com și puteți utiliza următoarea comandă pentru a obține certificatul și fișierul cheie.

[Email protected]: ~ / mkcert # /home/chandan/.linuxbrew/bin/mkcert example.com
Utilizarea CA local la "/root/.local/share/mkcert" ✨

A creat un nou certificat valabil pentru următoarele nume ��
– "example.com"

Certificatul este la "./example.com.pem" iar cheia la "./example.com-key.pem" ✅

[Email protected]: ~ / Mkcert #

Grozav! acum, am un certificat valid și fișierul cheie al acestuia gata de utilizare pe Nginx, Apache sau alte servere web.

Să luăm un exemplu de server HTTP Apache. Dacă nu deja, activați modulul și configurația SSL.

[Email protected]: / etc / apache2 # a2enmod ssl
Având în vedere dependența setenvif pentru ssl:
Setul de module este deja activat
Având în vedere mima de dependență pentru ssl:
Modulul mime este deja activat
Având în vedere dependența socache_shmcb pentru ssl:
Activarea modulului socache_shmcb.
Activarea ssl modulului.
Vedeți /usr/share/doc/apache2/README.Debian.gz despre modul de configurare SSL și de creare a certificatelor autofirmate.
Pentru a activa noua configurație, trebuie să executați:
systemctl reporni apache2
[Email protected]: / Etc / apache2 #

După cum s-a sugerat, reporniți Apache.

În acest moment, dacă netstat vei observa că Apache a început cu portul securizat 443.

[Email protected]: / etc / apache2 # netstat -anlp | grep 443
tcp6 0 0 ::: 443 ::: * Ascultă 11616 / apache2
[Email protected]: / Etc / apache2 #

Dar nu am terminat încă. A început cu certificatul implicit (manechin) și trebuie să îl înlocuim.

Modificați default-ssl.conf folosind fișierul vi și înlocuiți următorul cu calea unde ați generat fișierul cheie și cert.

SSLCertificateFile /root/mkcert/example.com.pem
SSLCertificateKeyFile /root/mkcert/example.com-key.pem

Înainte de a reporni Apache, trebuie să manipulați fișierul gazdelor de exemplu.com, astfel încât să rezolve localhost-ul dvs. în loc de unul Internet. După ce ați terminat, reporniți serverul HTTP Apache și accesați example.com – veți vedea că se servește un certificat de încredere.

Concluzie

Acest lucru poate fi util pentru a avea un certificat de încredere în mediul local. De mai sus, este doar un exemplu de exemplu.com, dar puteți face pentru localhost și altele. Dacă aveți nevoie de un semnator extern care să emită un certificat, verificați cum să obțineți asta gratuit.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me