SSL для localhost: как включить https на локальном сервере, коротко и с данными

Конспект страницы: 5 разделов коротко, данные на 19 октября 2026 и ответы на 4 вопроса. Полный разбор с примерами: SSL для localhost: как включить https на локальном сервере.

Коротко

Главная / Установка / SSL для localhost SSL для localhost нельзя получить у обычного центра сертификации: Let's Encrypt и платные ЦС проверяют домен или публичный адрес, а localhost у каждого компьютера свой. Для разработки сертификат делают сами: утилита mkcert выпускает файл, которому браузер доверяет, а OpenSSL создаёт самоподписанный, на который браузер будет ругаться. Для localhost берите mkcert: две команды дают сертификат, которому доверяет браузер.

Конспект по разделам

Нужен ли https на localhost и почему обычный сертификат не выдают

Центр сертификации выдаёт сертификат тому, кто докажет владение именем: ответит на запрос по домену или управляет его DNS. У имени localhost владельца нет, оно указывает на ваш же компьютер. Поэтому Let's Encrypt и платные центры отвечают отказом.

Как сделать сертификат для localhost через mkcert

mkcert создаёт собственный корневой сертификат, добавляет его в хранилища системы и браузеров и выпускает по нему сертификаты для любых имён. Ставится из менеджера пакетов: choco install mkcert или scoop install mkcert на Windows, brew install mkcert на macOS. На Linux для Firefox и Chrome нужен пакет libnss3-tools.

Как создать самоподписанный сертификат localhost через OpenSSL

Если ставить mkcert нельзя, подойдёт OpenSSL. Важно указать имена в поле subjectAltName: современные браузеры сверяют адрес именно с ним, а поле CN игнорируют. Нужна версия OpenSSL 1.1.1 или новее, в ней есть ключ -addext.

Почему браузер ругается на сертификат localhost и как это убрать

Самоподписанному сертификату браузер не доверяет, потому что его не выдавал известный центр, и показывает ошибку вроде NET::ERR_CERT_AUTHORITY_INVALID. Разбор причин: сертификат не доверен. Предупреждение уйдёт, если добавить файл в хранилище доверенных сертификатов.

Какой способ получить https для localhost выбрать

Ответьте на два вопроса: подсказка назовёт способ под вашу ситуацию. Два ответа, и подсказка назовёт способ Когда проект выходит из разработки, локальный сертификат заменяют настоящим: запрос на подпись и выпуск описаны в разделе установки сертификата. Обращаться к серверу по голому адресу вместо имени сложнее: см.

Данные

СпособДоверие браузераКогда подходит
mkcertЕсть, после mkcert -installРазработка на своём компьютере
OpenSSL, самоподписанныйНет, предупреждениеБыстрая проверка, тесты
Настоящий домен на 127.0.0.1Есть, сертификат от Let's EncryptКоманда, общий стенд

Данные на 19 октября 2026.

Вопросы и ответы

Можно ли получить Let's Encrypt для localhost?

Нет, на имя localhost центр сертификации не выдаёт ничего. Обходной путь: настоящий домен, чья A-запись указывает на 127.0.0.1. На него выпускают обычный сертификат, а запросы идут на ваш компьютер.

Нужен ли https на localhost, если Chrome и так считает его безопасным?

Для многих задач нет: service worker и геолокация работают и по http://localhost. Https нужен, когда проверяют cookie с флагом Secure, вход через OAuth, HTTP/2 или открывают сайт с телефона, где localhost уже не защищённый контекст.

Почему Firefox не доверяет сертификату mkcert на localhost?

Firefox хранит доверенные центры у себя. mkcert добавляет корневой сертификат туда, если на компьютере есть утилита certutil (на Linux это пакет libnss3-tools, на macOS пакет nss). Поставьте её, повторите mkcert -install и перезапустите Firefox.

Как открыть локальный https-сайт с телефона?

Телефон должен доверять корню, которым подписан сертификат. Скопируйте rootCA.pem на устройство, установите и включите доверие в настройках сертификатов. Адрес в сертификате должен совпадать с тем, по которому телефон открывает компьютер.