Как насчет того, чтобы ваша локальная среда разработки была доступна через HTTPS без предупреждения SSL?

Как разработчику, вам, возможно, придется работать над несколькими проектами, клиентами и веб-приложениями. Одной из предпосылок для разработки веб-приложений является локальное тестирование веб-сайтов в браузере на этапе разработки. Очень высокая вероятность того, что разрабатываемое вами приложение будет защищено сертификатом SSL / TLS в производственной среде..

Согласен?

Как насчет того, если вам нужно протестировать определенную функциональность, используя сторонний API, который требует, чтобы источник был https: //?

Вы можете сказать самоподписанный сертификат, и в этом нет ничего плохого. Но вы пытались получить доступ к самозаверяющему сертификату на сайте? Вы по-прежнему получите предупреждение о подтверждении на Chrome и других браузерах.

Вы видите Не является безопасным значок?

Не хорошо, верно?

Лучший способ получить действительный сертификат SSL в среде разработки – это управлять собственным ЦС, и это возможно с mkcert. Простой в реализации, который позволяет вам иметь действующий сертификат по следующему локальному веб-адресу разработки.

  • example.com
  • * .example.com
  • example.test
  • локальный
  • 127.0.0.1
  • :: 1

Вы можете реализовать mkcert в macOS, Windows, CentOS, Ubuntu и других ОС на основе UNIX. Следующий пример из Ubuntu.

Прежде всего, давайте установим инструменты службы сетевой безопасности, которые имеют certutil для управления базой данных сертификатов..

apt-get update
apt-get установить libnss3-tools

Возможно, вам также понадобится убедиться, что на вашем сервере установлена ​​машина. Если не установить с помощью следующей команды.

apt-get установить linuxbrew-wrapper

и, наконец, установите mkcert, используя brew.

заваривать установить mkcert

Примечание: для установки с помощью brew вы не должны быть пользователем root. и он устанавливается в /home/$USER/.linuxbrew/bin/mkcert

Где $ USER – это имя пользователя, которое вы использовали для установки

Теперь пришло время установить локальный ЦС в хранилище доверенных сертификатов системы..

[Электронная почта защищена]: ~ / mkcert # /home/chandan/.linuxbrew/bin/mkcert -install
Использование локального центра сертификации в "/root/.local/share/mkcert" ✨
Локальный центр сертификации теперь установлен в хранилище доверенных сертификатов системы! ⚡️

[Электронная почта защищена]: ~ / Mkcert #

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

[Электронная почта защищена]: ~ / mkcert # /home/chandan/.linuxbrew/bin/mkcert example.com
Использование локального центра сертификации в "/root/.local/share/mkcert" ✨

Создан новый сертификат, действительный для следующих имен ��
– "example.com"

Сертификат находится на "./example.com.pem" и ключ в "./example.com-key.pem" ✅

[Электронная почта защищена]: ~ / Mkcert #

Большой! Теперь у меня есть действующий сертификат и его файл ключей, готовый к использованию на моем Nginx, Apache или других веб-серверах..

Давайте рассмотрим пример HTTP-сервера Apache. Если нет, включите модуль SSL и настройку.

[Электронная почта защищена]: / etc / apache2 # a2enmod ssl
Учитывая зависимость setenvif для ssl:
Модуль setenvif уже включен
Учитывая зависимость MIME для SSL:
Модуль MIME уже включен
Учитывая зависимость 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 #

Но мы еще не закончили. Он начался с сертификата по умолчанию (фиктивный), и мы должны заменить его.

Измените default-ssl.conf, используя файл vi, и замените следующий путь на путь, по которому вы сгенерировали ключ и файл сертификата..

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

Прежде чем перезапускать Apache, вам также необходимо манипулировать файлом hosts для example.com, чтобы он разрешался на вашем локальном хосте, а не в Интернете. Как только вы закончите, перезапустите сервер Apache HTTP и зайдите на example.com – вы увидите, что доверенный сертификат обслуживается.

Вывод

Это может быть удобно, чтобы иметь доверенный сертификат в локальной среде. Выше приведен только пример example.com, но вы можете сделать это для localhost и других пользователей. Если вам нужен внешний подписчик для выдачи сертификата, узнайте, как получить его бесплатно.

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