Какво ще кажете да имате достъп до вашата локална среда за разработка през HTTPS без предупреждение за SSL?


Като разработчик може да се наложи да работите върху множество проекти, клиенти и уеб приложения. Една от предпоставките за разработване на уеб приложения е тестване на уебсайтовете локално в браузъра по време на фазата на разработка. Много голям шанс приложението, което разработвате, да бъде защитено със SSL / TLS сертификат в производствена среда.

Съгласен?

Какво ще кажете, ако трябва да тествате определена функционалност, използвайки API на трети страни, който изисква произход да бъде https: //?

Можете да кажете самоподписан cert и няма нищо лошо в това. Но опитвали ли сте да влезете в уебсайт, реализиран със самостоятелно подписване? Все още ще получавате сертификат за сертифициране за Chrome и други браузъри.

Виждате ли Не е сигурно значка?

Не е добре, нали?

Най-добрият начин да имате валиден SSL сертификат в средата за разработка е чрез управление на собствения си CA и неговото възможно с mkcert. Лесен за изпълнение, който ви позволява да имате валиден сертификат на следния уеб адрес за местно развитие.

  • example.com
  • * .example.com
  • example.test
  • Localhost
  • 127.0.0.1
  • :: 1

Можете да внедрите mkcert в macOS, Windows, CentOS, Ubuntu и други ОС, базирани на UNIX. Следващият пример е от Ubuntu.

Първо нещо, нека инсталираме инструментите за услуга за сигурност на мрежата, които имат certutil за управление на базата данни на сертификати.

apt-get актуализация
apt – вземете инсталирайте libnss3-tools

Може също да се наложи да се уверите, че варата е инсталирана на вашия сървър. Ако не инсталирате, използвайки следната команда.

apt – вземете инсталирайте linuxbrew-обвивка

и накрая, инсталирайте mkcert с помощта на brew.

варя инсталирайте mkcert

Забележка: За да инсталирате с помощта на варя, не трябва да бъдете root. и се инсталира в /home/$USER/.linuxbrew/bin/mkcert

Където $ USER е потребителското име, което сте използвали за инсталиране

Сега е време да се инсталира локалния CA в системния магазин за доверие.

[Имейл защитен]: ~ / mkcert # /home/chandan/.linuxbrew/bin/mkcert -инсталиране
Използване на местния CA в "/root/.local/share/mkcert" ✨
Местният CA вече е инсталиран в системния магазин за доверие! ⚡️

[Имейл защитен]: ~ / Mkcert #

И на следващо място, генерирайте сертификат за средата за разработка. Да речем, че ще имате уебсайта си на example.com и можете да използвате следната команда, за да получите сертификата и файла с ключове.

[Имейл защитен]: ~ / mkcert # /home/chandan/.linuxbrew/bin/mkcert example.com
Използване на местния CA в "/root/.local/share/mkcert" ✨

Създадох нов сертификат, валиден за следните имена ��
– "example.com"

Сертификатът е на "./example.com.pem" и ключът при "./example.com-key.pem" ✅

[Имейл защитен]: ~ / Mkcert #

Страхотен! сега имам валиден сертификат и неговия ключов файл, готов за използване на моите Nginx, Apache или други уеб сървъри.

Да вземем пример за HTTP сървър на Apache. Ако вече не е, активирайте SSL модула и конфигурацията.

[Имейл защитен]: / и т.н. / apache2 # a2enmod ssl
Като се има предвид коефициентът на зависимост за ssl:
Модулът setenvif вече е активиран
Имайки предвид mime за зависимост за ssl:
Мимът на модула вече е активиран
Имайки предвид зависимостта socache_shmcb за ssl:
Активиране на модула socache_shmcb.
Активиране на модула ssl.
Вижте /usr/share/doc/apache2/README.Debian.gz как да конфигурирате SSL и да създадете самоподписани сертификати.
За да активирате новата конфигурация, трябва да стартирате:
systemctl рестартира apache2
[Имейл защитен]: / И т.н. / apache2 #

Както се предлага, рестартирайте Apache.

В този момент, ако имате netstat, ще забележите, че Apache е започнал със защитен порт 443.

[Имейл защитен]: / etc / apache2 # netstat -anlp | grep 443
tcp6 0 0 ::: 443 ::: * СПИСЪК 11616 / apache2
[Имейл защитен]: / И т.н. / apache2 #

Но все още не сме свършили. Започна с cert по подразбиране (манекен) cert и трябва да го заменим.

Променете default-ssl.conf с помощта на vi файл и заменете следното с пътя, по който сте генерирали ключа и cert файла.

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

Преди да рестартирате Apache, вие също трябва да манипулирате файла с хост на example.com, така че той да се свързва с вашия localhost, вместо с интернет. След като сте готови, рестартирайте HTTP сървъра на Apache и получете достъп example.com – ще видите, че се обслужва надежден сертификат.

заключение

Това може да бъде полезно да имате надежден сертификат в местна среда. Горното е само пример за example.com, но можете да направите за localhost и други. Ако имате нужда от външен подписващ, за да издадете сертификат, проверете как да го получите безплатно.

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