Локальный HTTPS — не паранойя. Cookie с флагом Secure, редиректы http→https, платёжные return URL, Service Worker в некоторых сценариях — на чистом http часть вещей не проверить. На MicroServer сертификаты выдаёт локальный CA; задача — чтобы браузер ему доверял.
Это не Let’s Encrypt для публичного домена. Публичный SSL на хостинге — отдельный мануал.
Что нужно
- Виртуальный хост
project.locуже открывается по http — как создать. - Хост добавлен в список SSL сервера (конфиг MicroServer, в т.ч. связанные настройки в
config/server.json). - Корневой сертификат CA установлен в доверенные хранилища Windows / браузера.
- Слушает 443, редирект с 80 при необходимости.
Обзор стека: локальный сервер.
Доверие сертификату
Без установки корня Chrome/Edge будут показывать предупреждение. Можно кликать «продолжить», но часть API и cookie-сценариев от этого страдает. Установите корневой сертификат MicroServer в «Доверенные корневые центры сертификации» для локальной машины.
Firefox иногда использует своё хранилище — импорт туда отдельно, если тестируете именно в нём.
Проверка
- Откройте
https://project.loc— замок без ошибки имени. - Смешанный контент: в исходнике не должно быть активных http-ресурсов с того же хоста.
- Логин в админку, сессия переживает обновление страницы.
- Если скрипт режет редирект на https — включите URL с https в настройках.
Типичные проблемы
- Сертификат на другое имя — хост не попал в выпуск, открываете
www.или IP. - Предупреждение после пересоздания CA — старый корень в системе, новый сервер; обновите доверие.
- Порт 443 занят OpenServer/IIS — освободите или выключите лишний стек.
- HSTS из прошлых экспериментов на этом имени — редко, но бесит; чистите состояние сайта в браузере.
Зачем это скриптам Microscript
Проверка кабинета и форм до выкладки. Отладка платёжных колбэков на локалке через туннели (ngrok и аналоги) часто требует https. Поведение редиректов после включения SSL на проде лучше один раз увидеть локально.
Установка продукта: установка. Если https открывается, а PHP падает — это уже не сертификат: ошибка 500.
Альтернативы
Самоподписанный сертификат руками через openssl + прикрутка к Apache — рабочий путь в XAMPP/OpenServer, но дольше. mkcert — популярный вариант для произвольных стеков. В MicroServer проще штатный CA.
Про Денвер и PHP 8: замена Денвера. Когда локалка готова — выкладка: перенос, боевой SSL: SSL на сайте.
Firewall Windows
Для доступа только с этой машины правила на 443 обычно не мешают. Если открываете локальный хост с телефона в той же Wi‑Fi — это уже отдельная настройка сети и доверия сертификату на телефоне; для повседневной разработки скрипта не обязательно.
Редирект с http на https локально
Имеет смысл включить, если отлаживаете поведение «как на проде». Иначе часть ссылок в письмах и шаблонах останется http, и вы это заметите только после выкладки. В MicroServer редирект обычно завязан на список SSL-хостов. Открыли https вручную — ок; ждёте автоматический редирект — проверьте, что хост в списке и сервер перечитан.
Петля редиректов локально бывает, когда скрипт сам форсирует https, а виртуальный хост на 443 не настроен. Браузер пишет ERR_TOO_MANY_REDIRECTS. Выключите форс в настройках скрипта, почините SSL-хост, потом включите снова.
Cookie, сессии, SameSite
На https локально сессионные cookie с флагом Secure начинают сохраняться. На http их не было — «логин не держится» при переключении протоколов выглядит как баг скрипта. Очистите cookies для project.loc и зайдите один раз уже по https.
Если тестируете встроенный фрейм или отдельный фронт на другом порту — SameSite и secure-флаги могут мешать. Это уже тонкая отладка; для обычной админки Microscript достаточно одного хоста на 443.
Смешанный контент на локалке
В консоли браузера смотрите blocked:mixed-content. Часто виноваты абсолютные URL в демо-данных или в настройке «адрес сайта» с http. Поправьте URL в админке на https://project.loc и обновите кэш. Для боевого сайта та же история описана в SSL на PHP-сайте.
Несколько браузеров
Chrome/Edge берут хранилище Windows. Firefox — своё. Поставили корень CA в систему, а Firefox всё ещё ругается — импортируйте сертификат в настройки Firefox отдельно. Safari на соседней mac-машине к вашему Windows-CA отношения не имеет.
Инкогнито иногда не видит установленные вручную корни так, как вы ожидаете — зависит от политики браузера. Для проверки замка используйте обычное окно после установки CA.
Конфликт портов
Skype, IIS, Docker, OpenServer любят занимать 443. MicroServer не поднимется на https, пока порт занят. В PowerShell:
netstat -ano | findstr :443
По PID поймёте процесс. Лишний стек выключите. Про конфликты стеков ещё: замена Денвера.
Связка с установкой и переносом
Ставьте скрипт сразу на том протоколе, на котором будете отлаживать кабинет. Смена http→https после наполнения демо-данными добавляет работу по URL. Установка: мануал. База при этом та же: phpMyAdmin.
Когда локальный https отлажен, на проде выпускаете нормальный Let’s Encrypt — локальный CA туда не копируется. Перенос: перенос скрипта. Если на проде после SSL белый экран — это уже лог PHP, не сертификат: ошибка 500.
Для вебхуков с внешних сервисов на локалку https alone не хватит — нужен туннель с публичным именем. Сертификат туннеля будет чужой; ваш CA MicroServer тут ни при чём. Имеет смысл помнить, чтобы не чинить «локальный SSL», когда падает ngrok.
Если замок есть, а скрипт генерит ссылки на http — поправьте «URL сайта» в админке и очистите кэш продукта, если он есть. Иначе отладка оплаты и редиректов останется вранья. Установка и первичная настройка: установка. База при смене только протокола не мигрируется; файлы те же. Хост должен быть стабильно прописан: *.loc. Стек: MicroServer.
Частые вопросы
Https на локальном хосте windows?
Локальный HTTPS нужен для cookie Secure, вебхуков и проверки SSL-редиректов.
Сколько времени занимает «HTTPS на локальном хосте Windows»?
Ориентир по тексту мануала — около 5 мин. На практике зависит от хостинга и подготовки базы.
Нужен ли отдельный сервер?
Для большинства скриптов достаточно хостинга или VDS с PHP и MySQL. Подбор сервера — в разделе VDS и требованиях к PHP/MySQL.
Openserver альтернатива php 8?
Разбор рядом в мануале по этому запросу. openserver альтернатива php 8
Локальный сервер windows php 8 mysql?
Разбор рядом в мануале по этому запросу. локальный сервер windows php 8 mysql