Отключите требование https для закрытых веб-API https в Chrome и Firefox

Многие современные веб-API разрешены браузером только по протоколу HTTPS. Это хорошо для пользователей, но может затруднить разработку. Во время разработки я хотел бы иметь возможность отключить это требование только для тестирования.

Есть ли флаг, который я могу установить (about:config в firefox, about:flags в chrome) или параметр командной строки, который я могу передать, чтобы отключить это требование, чтобы я мог тестировать без необходимости настраивать сертификаты https и добавлять их в браузер?

Примечание. Я понимаю, что для localhost требование https отменено, но я часто размещаю хостинг на одном компьютере (например, на ноутбуке) и тестирую на другом (например, устройстве Android) или другом рабочем столе. Я знаю, что могу создать локальный сертификат и запустить сервер, поддерживающий https. Затем мне приходится иметь дело с предупреждениями безопасности в браузерах (недействительный сертификат) и / или добавлять частные сертификаты на все устройства ИЛИ мне нужно зарегистрировать домен исключительно с целью получения действительного сертификата через letsencrypt. Для моего собственного разработчика я просто хотел бы временно отключить эту проверку в браузере, если это возможно. Конечно, на самом деле я предлагаю пользователям протокол https, но во время разработки, если бы я мог отключить это требование, все было бы намного проще.

В моем конкретном случае я пытаюсь использовать WebXR, поэтому разработка происходит на моем ноутбуке, но фактическое тестирование происходит на устройстве Android, где страница обслуживается с моего ноутбука.

2 ответа

В Chrome есть настройка разработчика. Небезопасные источники считаются безопасными в chrome://flags/. Это текстовое поле, в которое вы можете добавить список источников, считающихся безопасными для целей разработки. (Через https://github.com/immersive-web/webxr/issues/60)

Одно из предлагаемых здесь решений - использовать перенаправление портов Chrome.

https://developers.google.com/web/tools/chrome-devtools/remote-debugging/local-server

Это работает для настольных компьютеров Chrome на Android

На рабочем столе вы указываете Chrome, с какого сайта какой порт перенаправить на ваше устройство Android через другой порт. Этот сайт может быть сервером в Интернете или сервером, работающим локально на вашем рабочем столе. На устройстве Android вы можете получить доступ к этому сайту по адресуhttp://localhost:<port-you-specified>. Требования https отменены для хоста locahost, поэтому теперь вы можете использовать API, которые были ограничены в противном случае.

Другие вопросы по тегам