🔐 Как внедрить Trusted SSL сертификат в локальную среду разработки DEV? |

🔐 Как внедрить Trusted SSL сертификат в локальную среду разработки DEV?

Мануал

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

Как разработчику, вам, возможно, придется работать над несколькими проектами, клиентами и веб-приложениями.

Одной из предпосылок для разработки веб-приложений является локальное тестирование веб-сайтов в браузере на этапе разработки.

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

Согласны?

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

Вы можете сказать ну есть же самоподписанный сертификат, и в этом нет ничего плохого.

Но вы пытались получить доступ к сайту с  таким сертификом?
Вы по-прежнему будете получать предупреждение в Chrome и других браузерах.
Вы видите значок «Not secure»?
Не хорошо, правда?
Лучший способ получить действительный сертификат SSL в среде разработки – это управлять собственным УЦ, и это возможно с помощью mkcert.
Простой в реализации CA, который позволяет вам иметь действующий сертификат по следующему локальному веб-адресу разработки.
  • example.com
  • *.example.com
  • example.test
  • localhost
  • 127.0.0.1
  • ::1

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

Следующий пример показан на Ubuntu.

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

apt-get update
apt-get install libnss3-tools
Возможно, вам также понадобится убедиться, что на вашем сервере установлен brew.
Если не установлен, используйте следующую команду.
apt-get install linuxbrew-wrapper
и, наконец, установите mkcert, используя brew.

brew install mkcert

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

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

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

~/mkcert# /home/chandan/.linuxbrew/bin/mkcert -install
Using the local CA at "/root/.local/share/mkcert" ✨
The local CA is now installed in the system trust store! ⚡️

~/mkcert#
А затем, сгенерируйте сертификат для среды разработки.
Допустим, у вас будет свой веб-сайт на example.com, и вы можете использовать следующую команду, чтобы получить файл сертификата и ключа.
~/mkcert# /home/chandan/.linuxbrew/bin/mkcert example.com
Using the local CA at "/root/.local/share/mkcert" ✨

Created a new certificate valid for the following names 📜
 - "example.com"

The certificate is at "./example.com.pem" and the key at "./example.com-key.pem" ✅

Супер! 🙂

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

:/etc/apache2# a2enmod ssl
Considering dependency setenvif for ssl:
Module setenvif already enabled
Considering dependency mime for ssl:
Module mime already enabled
Considering dependency socache_shmcb for ssl:
Enabling module socache_shmcb.
Enabling module ssl.
See /usr/share/doc/apache2/README.Debian.gz on how to configure SSL and create self-signed certificates.
To activate the new configuration, you need to run:
  systemctl restart apache2

Как предложено системой, перезагрузите Apache.

На этом этапе, если вы запустите netstat, вы заметите, что Apache запущен с защищенным портом 443.

# netstat -anlp |grep 443
tcp6       0      0 :::443                  :::*                    LISTEN      11616/apache2       

Но мы еще не закончили.

Сертификат по умолчанию (dummy), и мы должны заменить его.

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

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

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

Заключение

Это может быть удобно – иметь доверенный сертификат в локальной среде.

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

 

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий