Вы можете легко запустить локальный HTTPS-сервер, используя пакет http-server
NPM. Вы просто создаете свой собственный сертификат, используя openssl
в том же каталоге, что и ваш сайт, используя что-то вроде этого:
openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout key.pem -out cert.pem
, и он будет работать, запуская сервер, выполнив:
http-server -S -C cert.pem -o -p 80
внутри каталога с вашим локальным сайтом. Позаботьтесь о именах файлов ключа и сертификата, потому что http-server
имя файла ключа по умолчанию - key.pem
, но, конечно, вы можете изменить его, используя параметр -K <filename>
.
Вы можете даже использовать этот сертификат для других локальные серверы (Apache, Express, Nginx и др. c.) для обслуживания сайта по протоколу HTTPS с использованием этого сертификата. Chrome сайт будет помечен как незащищенный, потому что у вас будет самозаверяющий сертификат, но это не влияет на использование API геолокации, и вы сможете проверить его. И, как вы обнаружили, вы можете даже доверять этому самоподписанному сертификату и добавлять его в браузеры, например Chrome ( "создать доверенный самоподписанный сертификат SSL для localhost" ).
Также проверьте, есть ли у вас другие ресурсы, которые обслуживаются по одному HTTP на этой странице, потому что будут проблемы, если они есть. Вы должны создать простую страницу, содержащую код geolocation.getCurrentPosition
, чтобы проверить его.