Используете ли вы HTTPS в разработке?

Используете ли вы HTTPS в веб-разработке?

Вы определенно должны! И я надеюсь, что эта статья убедит вас, что это хорошая идея. Ниже вы найдете все, что вам нужно для начала.

Последовательность

Как показывает опыт, всегда рекомендуется разрабатывать в той же среде, что и для развертывания. В мире веб-разработки это означает две основные вещи: браузер и протокол. В настоящее время HTTPS используется повсеместно, и современные браузеры предоставляют некоторые функции только для HTTPS; рано или поздно HTTP перестанет использоваться. Скорее всего, разрабатываемое вами веб-приложение будет обслуживаться через HTTPS при развертывании.
Имея это в виду, рекомендуется использовать HTTPS в разработке.

Но как?

Если вы используете веб-бандер, включить HTTPS довольно просто.

Если нет, решение состоит в том, чтобы использовать несколько действительных цифровых сертификатов и настроить веб-сервер для их использования.

Давайте посмотрим, как мы можем это сделать.

Сертификаты

Одно решение

Сначала вам нужно сгенерировать несколько сертификатов (которые будут работать только на вашем компьютере). я недавно нашел этот удивительный инструмент. После установитьвам нужно будет запустить 2 команды:

$ mkcert -install
$ mkcert example.com "*.example.org" myapp.dev localhost 127.0.0.1 ::1

Первая строка создает локальный ЦС (центр сертификации). Когда вы развернете конечный продукт, вам придется купить сертификат у доверенного стороннего ЦС.

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

Другие решения

  • одно решение, о котором я знаю, использует OpenSSL, но я не исследовал его подробно; не стесняйтесь проводить собственные исследования и эксперименты

Настройка веб-сервера

Настройка довольно проста на Apache и NGINX. Короче говоря, вам нужно включить SSL и указать Apache/NGINX, где найти сертификаты, которые вы создали с помощью второй команды mkcert. Вот и все.

Я подробно опишу настройку для Apache. NGINX должен быть таким же и простым в использовании.

  1. Раскомментируйте эти строки в httpd/https.conf
LoadModule socache_shmcb_module lib/httpd/modules/mod_socache_shmcb.so
...
LoadModule ssl_module lib/httpd/modules/mod_ssl.so
...
Include /usr/local/etc/httpd/extra/httpd-ssl.conf
  1. Убедитесь, что Apache прослушивает 443 для HTTPS-запросов. Проверять httpd/extra/httpd-ssl.conf.
Listen 443
...
<VirtualHost _default_:443>
  1. В том же файле прокомментируйте эти 2 строки внутри <VirtualHost> ярлык
# DocumentRoot "/Library/WebServer/Documents"¬
# 125 ServerName www.example.com:443¬
  1. Настройте свой виртуальный хост в этом файле httpd/extra/httpd-vhosts.conf
<VirtualHost *:443>
    DocumentRoot "_website/location_"
    ServerName localhost
    SSLEngine on
    SSLCertificateFile "_mkcert/generated/certificate_"
    SSLCertificateKeyFile "_mkcert/generated/key_"
</VirtualHost>
  1. Проверьте свою конфигурацию и перезапустите apache с помощью этих команд.
$ sudo apachectl configtest
$ sudo apachectl -k restart

Это все 😃

Надеюсь, вам понравилась эта тема.

Код включен!

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *