Начиная с Let's Encrypt , зашифрованные веб-сайты стали стандартом. Даже при локальной разработке сертификаты SSL стали незаменимыми (например, navigator.geolocation требует локального шифрования SSL). Начиная с версии 58 Chrome, поддержка CN (Common Name) была прекращена, а SAN (Subject Alternative Name) стал обязательным. В результате Chrome внезапно перестает принимать все стандартные SSL-сертификаты.
Вы можете использовать онлайн-инструменты, такие как ZeroSSL, для создания сертификатов или использовать параметры запуска, такие как --ignore-certificate-errors или флаг chrome: // flags / # allow-insecure-localhost, чтобы Chrome работал без действительных сертификатов; Однако мы хотим использовать OpenSSL для создания локальных самозаверяющих сертификатов, которые содержат SAN и полностью принимаются Chrome. Этот однострочный файл позаботится обо всем необходимом (нужно заменить только www.tld.local на желаемый домен):
61b7be9883ad31712c52a59252a4c9c4
Поскольку OpenSSL, к сожалению, не имеет прямых аргументов для указания SAN, сначала создается файл конфигурации, с ним вызывается OpenSSL, а затем файл удаляется. Пользователи Windows могут легко выполнить эту команду либо с помощью Cygwin (и bash -c "..."), либо с помощью нового WSL . Два результирующих файла www.tld.local.key и www.tld.local.cert затем могут быть выбраны в MAMP, например:
Затем пользователи Windows загружаются в разделе «Управление сертификатами пользователей» (certmgr) в «Доверенные корневые центры сертификации».:
Наконец, перезапустите Chrome (chrome: // restart) и наслаждайтесь зеленым замком.: