Как запустить HTTPS на локальном хосте с самозаверяющим сертификатом в Chrome

Прежде чем мы углубимся в методы, давайте быстро разберемся с основами. HTTPS (безопасный протокол передачи гипертекста) — это безопасная версия HTTP, которая шифрует данные, которыми обмениваются клиент (ваш браузер) и сервер (ваша локальная среда разработки). По умолчанию Chrome требует действительный сертификат SSL для установки HTTPS-соединения. Однако для целей локальной разработки мы можем создать самозаверяющий сертификат.

Метод 1: использование OpenSSL
Один популярный метод — создание самозаверяющего сертификата с помощью OpenSSL, широко используемой криптографической библиотеки с открытым исходным кодом. Вот пошаговое руководство по началу работы:

  1. Установите OpenSSL в своей системе (если вы еще этого не сделали).
  2. Откройте терминал или командную строку и перейдите в каталог, в котором установлен OpenSSL.
  3. Сгенерируйте закрытый ключ и самозаверяющий сертификат с помощью следующих команд:
    openssl genrsa -out localhost.key 2048
    openssl req -new -x509 -sha256 -key localhost.key -out localhost.crt -days 365
  4. Переместите созданные файлы localhost.keyи localhost.crtв удобное место, например в каталог вашего проекта.

Метод 2: использование mkcert
Если вы предпочитаете более упрощенный подход, вы можете использовать mkcert, простой и удобный инструмент для создания локально доверенных сертификатов разработки. Вот как его использовать:

  1. Установите mkcert, следуя инструкциям в официальном репозитории GitHub.
  2. Откройте терминал или командную строку и перейдите в каталог проекта.
  3. Выполните следующие команды, чтобы сгенерировать файлы сертификата и ключей:
    mkcert localhost
  4. mkcertсоздаст файлы localhost.pemи localhost-key.pemв вашем текущем каталоге.

Метод 3. Использование DevCert
Другим инструментом, который вы можете использовать, является DevCert, который упрощает процесс создания самозаверяющих сертификатов для целей разработки. Вот краткий обзор:

  1. Установите DevCert, следуя инструкциям в официальном репозитории GitHub.
  2. Откройте терминал или командную строку и перейдите в каталог проекта.
  3. Выполните следующую команду, чтобы сгенерировать файлы сертификата и ключей:
    devcert generate localhost
  4. DevCertсоздаст файлы localhost.crtи localhost.keyв вашем текущем каталоге.

После создания сертификата и файлов ключей любым из вышеперечисленных методов выполните следующие действия, чтобы настроить Chrome для использования самозаверяющего сертификата:

  1. Запустите Chrome и откройте новую вкладку.
  2. Введите в адресную строку следующий URL-адрес: chrome://flags/#allow-insecure-localhost.
  3. Включите флаг «Разрешить недействительные сертификаты для ресурсов, загруженных с локального хоста».
  4. Перезапустите Chrome, чтобы изменения вступили в силу.

Поздравляем! Теперь вы можете безопасно получить доступ к локальной среде разработки через HTTPS, используя самозаверяющий сертификат. Помните, что эти методы предназначены только для целей разработки и не должны использоваться в производственных средах.

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