Ноутбук віддає сторінку на localhost, телефон приєднується до тієї самої VPN, а браузер на телефоні повідомляє, що сайт недоступний. З тунелем поки все гаразд, бо тунель лише доставляє пакети. Сервер розробки, прив'язаний до інтерфейсу loopback, ніколи не приймає з'єднання, адресоване чомусь іншому, тому дивитися треба спершу на сокет, що слухає, а не на VPN.

Пройдіть сокет, налаштування прив'язки, правило брандмауера і URL саме в такому порядку.

Сокет відповідає на вужче питання

Слухач, створений на 127.0.0.1, приймає трафік від самої машини і відкидає все, що надходить на іншу адресу. Слухач на wildcard-адресі приймає на всіх локальних інтерфейсах, включно з інтерфейсом VPN, що ширше, ніж потрібно більшості середовищ розробки. Слухач, прив'язаний до однієї конкретної адреси VPN, — найвужчий корисний варіант, і він працює лише поки ця адреса існує.

Звідси випливають дві пастки іменування. У браузері телефона localhost означає телефон, а не ноутбук. Wildcard-адреса — це значення прив'язки, а не те, що вводять в URL. Хто перевірить з будь-якою з них, повідомить про відмову, яка взагалі не стосувалася мережі.

IPv6 додає третій випадок, бо сокет може приймати IPv4 та IPv6 залежно від параметрів, які легко проґавити. Прочитайте родину адрес у списку. Запис wildcard для однієї родини не описує іншу.

Прочитайте адресу прослуховування

Перегляньте сокет до зміни конфігурації. Локальна адреса, порт і процес-власник разом показують, чи доступний сервер із VPN узагалі.

Get-NetTCPConnection -State Listen -LocalPort 8080 | Select-Object LocalAddress,LocalPort,OwningProcess
Get-Process -Id (Get-NetTCPConnection -State Listen -LocalPort 8080).OwningProcess
ipconfig | Select-String -Pattern 'IPv4'
Get-NetFirewallRule -DisplayName '*8080*' | Format-Table DisplayName,Enabled,Profile,Direction,Action

Локальна адреса 127.0.0.1 вирішує питання: жодна зміна брандмауера не допоможе, бо застосунок не слухає інтерфейс VPN. Wildcard або адреса VPN означає, що сокет гаразд і діє наступна межа.

Підтвердьте й процес-власник, адже стороння служба на поширеному порті може зробити таблицю схожою на правильну, хоча потрібний сервер так і не запустився. Звіряйте шлях до виконуваного файлу, а не лише ім'я. Застарілий процес від попереднього запуску — частий самозванець.

Змініть прив'язку через застосунок

Використайте задокументований у фреймворку параметр адреси прослуховування і перезапустіть процес. Якщо ноутбукові належить приватна адреса 10.77.0.1, URL телефона стає http://10.77.0.1:8080/ і ця адреса має маршрутизуватися через VPN; більше в налаштуванні нічого не змінюється.

Не додавайте довільні адреси в Windows і не змінюйте шлюз, щоб змусити прив'язку спрацювати. Такі зміни переживають сеанс налагодження і дивують наступну людину. Сервер, запущений до появи адреси VPN, теж може не прив'язатися, тому порядок запуску важливий для тимчасового інтерфейсу. Дайте йому повторну спробу або запустіть після тунелю. Помилка прив'язки під час завантаження наступного ранку виглядає точно як проблема брандмауера.

Для HTTPS зберігайте ім'я хоста служби і перевірку сертифіката. Попередження про сертифікат на сирій адресі — це проблема іменування, а не крок, який треба проґавити кліком, і приватний DNS має відповідати вибраному слухачу.

Відкрийте одне правило, а не всю мережу

Щойно сокет приймає на адресі VPN, брандмауер вирішує, чи дійде запит. Обмежте правило цим застосунком, цим протоколом, цим локальним портом і авторизованим віддаленим джерелом та підтвердьте, який профіль активний на адаптері VPN.

Використовуйте адресу джерела, яку Windows справді бачить, включно з будь-яким перетворенням, яке виконує шлюз, бо правило, написане для початкової адреси клієнта, не збіжиться з перетвореною.

Сторінка, що завантажується і показує помилку застосунку, — це прогрес: відмова HTTP відрізняється від відсутності TCP-з'єднання, і наступне розслідування належить власній політиці доступу застосунку, а не мережі.

Завершіть, запитавши сторінку з потрібного телефона і підтвердивши, що виключений пристрій досі не може до неї дістатися. Робочий слухач із правилом, що пропускає все, — не той самий результат.

Схожі статті