Hoe gaan dit met u plaaslike ontwikkelingsomgewing toeganklik wees via HTTPS sonder SSL-waarskuwing??
As 'n ontwikkelaar moet u moontlik aan verskeie projekte, kliënte en webtoepassings werk. Een van die voorvereistes vir die ontwikkeling van webtoepassings is om die webwerwe tydens die ontwikkelingsfase plaaslik op die blaaier te toets. Baie groot kans dat die toepassing wat u ontwikkel, met SSL / TLS-sertifikaat in 'n produksieomgewing beveilig sal word.
Hoe gaan dit met u om sekere funksies te benut wat API van derdeparty gebruik, wat vereis dat die oorsprong https: //?
U kan sê dat dit self onderteken is en daar is niks verkeerd daarmee nie. Maar het u probeer om toegang tot die self-ondertekende sertifiseringswebwerf te verkry? U sal steeds sertifikaatwaarskuwing op Chrome en ander blaaiers kry.
Sien u die Nie veilig nie badge?
Nie goed nie, reg?
Die beste manier om 'n geldige SSL-sertifikaat op die ontwikkelingsomgewing te hê, is deur u eie CA te bestuur en dit moontlik te maak met mkcert. Dit is maklik om te implementeer waardeur u 'n geldige sertifikaat op die volgende plaaslike ontwikkelingswebadres kan hê.
U kan mkcert implementeer op macOS, Windows, CentOS, Ubuntu en ander UNIX-gebaseerde OS. Die volgende voorbeeld is van Ubuntu.
Laat ons eers die netwerksekuriteitsdienshulpmiddels instel wat sertifikaat het om die sertifikaatdatabasis te bestuur.
apt-get install libnss3-gereedskap
Miskien moet u ook seker maak dat die brou op u bediener geïnstalleer is. Indien nie, installeer die volgende opdrag.
apt-get installeer linuxbrew-wrapper
en laastens, installeer die mkcert met behulp van brou.
brou installeer mkcert
Let wel: as u brou wil installeer, hoef u nie 'n wortel te hê nie. en dit word geïnstalleer in /home/$USER/.linuxbrew/bin/mkcert
Waar $ USER die gebruikersnaam is wat u gebruik het om te installeer
Dit is nou tyd om die plaaslike CA te laat installeer in die stelsel se vertrouenswinkel.
Gebruik die plaaslike CA by "/root/.local/share/mkcert" ✨
Die plaaslike CA is nou geïnstalleer in die stelseltrustwinkel! ⚡️
Genereer daarna 'n sertifikaat vir die ontwikkelingsomgewing. Gestel u gaan u webwerf op voorbeeld.com hê en u kan die volgende opdrag gebruik om die sertifikaat en sleutellêer te kry.
Skep 'n nuwe sertifikaat wat geldig is vir die volgende name ��
Die sertifikaat is by "./example.com.pem" en die sleutel by "./example.com-key.pem" ✅
Groot! Ek het nou 'n geldige sertifikaat en die sleutellêer wat gereed is om op my Nginx-, Apache- of ander webbedieners te gebruik.
Kom ons neem 'n voorbeeld van 'n Apache HTTP-bediener. As dit nog nie gedoen is nie, skakel die SSL-module en -konfigurasie in.
Oorweeg die afhanklikheid setenvif vir ssl:
Module setenvif reeds aangeskakel
Oorweeg mimiek vir afhanklikheid vir ssl:
Module mime reeds aangeskakel
Oorweeg socache_shmcb vir afhanklikheid van afhanklikheid:
Aktiveer module socache_shmcb.
Aktiveer module ssl.
Raadpleeg /usr/share/doc/apache2/README.Debian.gz oor hoe om SSL op te stel en self-ondertekende sertifikate te skep.
Om die nuwe konfigurasie te aktiveer, moet u hardloop:
systemctl herbegin apache2
Soos voorgestel, herbegin die Apache.
As u net op hierdie punt staan, sal u sien dat die Apache met 'n veilige poort 443 begin het.
tcp6 0 0 ::: 443 ::: * LUISTER 11616 / apache2
Maar ons is nog nie klaar nie. Dit het begin met die standaard sertifikaat (dummy) en ons moet dit vervang.
Verander default-ssl.conf met behulp van vi-lêer en vervang die volgende met die pad waar u die sleutel- en sertifikaatlêer gegenereer het.
Voordat u weer met Apache begin, moet u ook die hosts-lêer vir voorbeeld.com manipuleer, sodat dit by u plaaslike plaas in plaas van internet een is. Sodra u klaar is, herbegin die Apache HTTP-bediener en gaan na voorbeeld.com – u sal sien dat 'n betroubare sertifikaat aangebied word.
Dit kan handig wees om 'n betroubare sertifikaat in die plaaslike omgewing te hê. Bogenoemde is slegs 'n voorbeeld van voorbeeld.com, maar u kan dit doen vir localhost en ander. As u 'n eksterne ondertekenaar nodig het om 'n sertifikaat uit te reik, kyk dan hoe u dit gratis kan kry.