Я разрабатываю веб-приложение. Убедить браузеры относиться к тестовому сайту как к живому сайту, чтобы на самом деле можно было проводить тестирование, кажется сложной задачей.
Мое (недостаточное) понимание
Насколько я понимаю, чтобы убедить браузеры доверять веб-приложению и разрешать такие вещи, как доступ к файловой системе, информации о местоположении, уведомлениям (и другим вещам системного уровня), требуется подключение https и сертификат TLS которому доверяет браузер.
Браузер будет доверять сертификату, если центр сертификации (CA) находится в его локальном списке центров сертификации.
Chrome/Chromium (и большинство других браузеров) использует локальный системный список центров сертификации, Firefox имеет свой собственный список.
Что я сделал/нашел
Различные статьи описывают проблему и защищают ее mkcert:-
Общие статьи:
- how-to-use-local-https
- Использование магии mkcert для включения действующего https на локальных сайтах разработчиков
- mkcert: Make Локально доверенные сертификаты разработки в Linux
Код: Выделить всё
mkcert -installКод: Выделить всё
mkcert myapp.localЭти файлы можно использовать напрямую с локальными веб-серверами, такими как Nginx...
Я также нашел localias:
Localias — это инструмент для разработчиков, позволяющий безопасно управлять локальными псевдонимами серверов разработки. Используйте Localias для перенаправления https://server.test → http://localhost:3000 в браузере и командной строке.
Прокси-сервер Localias, Caddy, автоматически генерирует сертификаты для любых безопасных псевдонимов, которые вы хотите создать... Если ваш браузер считывает данные из системного хранилища, чтобы определить, каким центрам сертификации следует доверять...
Предложить Caddy нельзя 'обрабатывать' Firefox...?
И я наткнулся на Auto Encrypt Localhost:
Auto Encrypt Localhost похож на утилиту Go mkcert, но со следующими важными отличиями...
написан на чистом JavaScript для Node.js... Он использует политики предприятия на всех платформах, чтобы заставить Firefox включить свой центр сертификации из хранилища доверенных сертификатов системы.
Вопросы
- В некоторых статьях упоминаются «сертификаты», а в некоторых – «корневые сертификаты».
Являются ли эти термины взаимозаменяемыми в данной ситуации? - В нескольких статьях говорится о «добавлении центра сертификации в хранилище доверенных сертификатов системы», но затем идет речь об установке сертификатов.
Таким образом, добавление корневого сертификата центра сертификации является способом добавления доверенного центра сертификации? Означает ли это добавление доверенного центра сертификации: добавление корневого сертификата (в хранилище сертификатов), подписанного этим источником? - Если да... Означает ли это, что мы можем добавить доверенный центр сертификации на устройства Android, добавив сертификат mkcert в соответствующие хранилища доверенных сертификатов?
- Как добавить сертификат в Android?
В этой статье «Системный центр сертификации на Android: как установить и обойти современные ограничения» говорится, что даже если вам удастся установить сертификат, «сертификат CA будет получен как сертификат пользователя (не доверенный приложением), а не как системный сертификат», и пропагандируется использование приложения под названием «Magisk».
Ответ на очень старый вопрос StackOverflow «Как установить доверенный сертификат CA на устройство Android?» рекомендует установить и использовать собственное приложение Dory.
- Нет ли браузеров возможности сделать эту проблему менее болезненной?
Подробнее здесь: https://stackoverflow.com/questions/798 ... ed-web-app
Мобильная версия