К обсуждениям

Chrome получил доступ к локальной сети, но сайт не видит устройство

Редакция VOne Технологии

Дерево для Chrome Local Network Access после разрешённого prompt: безопасный context, адресное пространство, cross-origin iframe, service worker и достижимость локального endpoint как отдельные границы.

Нарисуйте путь одного запроса

Запишите пять узлов: адрес веб-приложения, верхний document или cross-origin iframe, обычный JavaScript или worker, локальное имя или адрес цели, точный протокол и порт. Не публикуйте реальные внутренние IP, а обозначьте их как «private IPv4», «.local» или «loopback». Chrome определяет Local Network Access для запросов из публичной сети в локальную или loopback и ограничивает запрос permission secure contexts. Если источник и цель не записаны, один разрешённый prompt не локализует проблему.

Сверьте origin и permission

Проверьте замок HTTPS, точный origin в адресной строке и состояние Local Network Access для именно этого сайта. Не сбрасывайте все разрешения браузера до того, как записали исходное состояние. Если запрос идёт из другого поддомена, встроенной рамки или worker, у него может быть другой контекст permission. Официальная страница Chrome отдельно отмечает, что локальный запрос из service worker или shared worker требует ранее выданного permission его origin.

Отделите iframe и endpoint

Для cross-origin iframe одного permission верхней страницы может быть недостаточно. Официальная enterprise-политика Chrome описывает базовое поведение: Local Network Access features в cross-origin frames нужна явная delegation, если администратор не изменил это поведение политикой. Даже правильная delegation не делает endpoint достижимым. На том же ПК откройте локальную службу её штатным локальным интерфейсом и запишите только HTTP-статус или точную ошибку соединения. Не выкладывайте локальный URL публично.

Проведите чистый обратимый тест

На доверенном ПК откройте гостевой профиль Chrome без расширений, тот же HTTPS-origin и выдайте permission только для этого теста. Не меняйте флаги, enterprise-политики, firewall и сеть одновременно. Сравните один запрос и ошибку в обычном и гостевом профиле. Если ошибка одинаковая, причина вряд ли в личных расширениях. Для эскалации нужны версия Chrome, origin без параметров, тип initiator, класс адреса, состояние permission, HTTP-статус локального контроля и результат гостевого профиля. Добавьте точную ошибку из DevTools без query string, cookies и response body: для разработчика важно отличить permission denial, mixed-content границу, DNS и connection refusal. Если endpoint содержит панель управления, не снимайте полный Network log: одной ошибки и времени достаточно для первой эскалации.

Материал подготовлен редакцией VOne с применением ИИ для структуры; ветка дала лишь боль, а secure contexts, address spaces, worker и iframe policy вручную сверены с Chrome и Chrome Enterprise.

Источники и проверка

Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.

Ответы

0 опубликовано
Ответов пока нет. Вы можете начать обсуждение.

Ваш ответ

Добавьте свой опыт или уточнение по теме.

Вы публикуете как Аноним Аватар отличает разговоры, но не раскрывает личные данные.

Ответ появится сразу. Не публикуйте личные данные, ключи и приватные ссылки.