Использование mkcert для создания самозаверяющих сертификатов
В этом блоге используется Let's Encrypt
+ acme.sh
для развертывания сертификатов HTTPS, которые стабильно работают в течение длительного времени. Недавно, проводя исследование, связанное с дактилоскопией браузера, мы обнаружили, что локальная среда HTTP не может напрямую вызывать некоторые API, что является Secure Context restriction
, в этой статье будет представлено удобное решение для развертывания самозаверяющих сертификатов HTTPS в локальной веб-среде.
mkcert
- это простой инструмент для создания локальных самоподписанных HTTPS-сертификатов, который очень прост в использовании и даже не требует дополнительной информации о конфигурации.
Установка mkcert
Возьмем в качестве примера систему macOS, вы можете установить mkcert tool непосредственно через Homebrew.
brew install mkcert
Создайте и установите корневой сертификат для локальной среды
mkcert -install
Корневой сертификат rootCA-key.pem
, rootCA.pem
будет установлен в ~/Library Application Support/mkcert
. Этот корневой сертификат будет автоматически установлен в системах ПК и браузерах по умолчанию.
Создать сертификат HTTPS для домена или IP
mkcert 127.0.0.1 # Create IP certificate
mkcert easeapi.com # Or create a domain certificate
После выполнения файлы {ip or domain}-key.pem
и {ip or domain}.pem
будут сгенерированы в текущем каталоге.
Настроить веб-сервер
Используя Nginx в качестве примера, добавьте элемент конфигурации в узел http или server файла конфигурации Nginx.
listen 443 ssl
ssl_certificate {ip or domain}.pem;
ssl_certificate_key {ip or domain}-key.pem;
Установка корневого сертификата на мобильные устройства
После завершения вышеуказанной операции корневой сертификат будет установлен на ПК по умолчанию, когда mkcert -install
завершится, браузер ПК может получить доступ к локальной сети напрямую через протокол HTTPS, в то время как для мобильных устройств вам необходимо сначала установить корневой сертификат для нормального доступа. .
для использования на iOS
Получите доступ к файлу rootCA.pem
, созданному описанным выше процессом, по протоколу HTTP в браузере Safari
. Следуйте подсказкам системы, чтобы установить корневой сертификат.
для использования на Android
Некоторые модели Android могут ссылаться на метод установки iOS, но некоторые другие модели Android могут не распознавать файл формата pem
. В этом случае сначала загрузите rootCA.pem
в файловую систему телефона; откройте системные настройки, найдите элемент настройки, например «Безопасность — Управление учетными данными», и выберите установку сертификата с устройства хранения.