Это будет короткое описание, но оно будет полезно всем, кому нужна настройка HTTPS на локальном хосте или, что еще лучше, в личном домене.

Нам нужен local-ssl-proxy, простой HTTP-прокси SSL, использующий самозаверяющий сертификат.

npm install -g local-ssl-proxy

Установите утилиты генерации сертификатов локально:

brew install mkcert nss
mkcert --install

Обычно, если мы хотим запустить localhost по https, мы запускаем следующую команду в корневом каталоге проекта:

mkcert localhost

Однако, если вы хотите работать на выбранном вами личном домене, поскольку у вашего сервера API есть особые требования, требующие работы на конкретном домене:

mkcert your.domain.com

Это должно создать your.domain.com.pem и your.domain.com-key.pem в одном каталоге.

В вашем package.json,

"scripts": {
  "dev": "next dev -p 3400 & local-ssl-proxy --key your.domain.com-key.pem --cert your.domain.com.pem --source 443 --target 3400"
}

Это запустит сервер Next.js и прокси-сервер одновременно, или вы можете просто использовать параллельно.

Отредактируйте файл /etc/hosts, добавив эту строку, чтобы ваш компьютер знал, что your.domain.com указывает на localhost.

127.0.0.1       your.domain.com

Теперь, запустив npm run dev и перейдя по адресу https://your.domain.com/, ваше приложение должно работать.

Если вы найдете это полезным, пожалуйста, поделитесь этим в Twitter и дайте мне знать в Twitter.

Оригинально опубликовано на https://sdust.dev.

Спасибо, что дочитали до конца. Пожалуйста, подумайте о том, чтобы подписаться на автора и эту публикацию. Посетите Stackademic, чтобы узнать больше о том, как мы демократизируем бесплатное образование в области программирования во всем мире.