Телефонът не отваря страницата: проверете адреса за слушане
Страница, която отговаря на localhost, може да е свързана само към loopback. Прочетете адреса на сокета, после правилото на защитната стена и URL адреса, който телефонът наистина използва.
Лаптопът предоставя страницата на 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 адресът означава, че сокетът е наред и важи следващата граница.
Проверете и процеса собственик, защото несвързана услуга на често използван порт може да направи таблицата да изглежда вярна, докато желаният сървър така и не е стартирал. Съпоставете пътя на изпълнимия файл, не само името. Остарял процес от предишен старт често се представя за друг.
Променете свързването през приложението
Използвайте документираната опция за адрес за слушане на framework-а и рестартирайте процеса. Ако лаптопът притежава частния адрес 10.77.0.1, URL адресът на телефона става http://10.77.0.1:8080/ и този адрес трябва да бъде маршрутизиран през VPN; нищо друго в настройката не се променя.
Не добавяйте произволни адреси в Windows и не променяйте шлюза, за да принудите свързване. Тези промени надживяват сесията по отстраняване на проблеми и изненадват следващия човек. Сървър, стартиран преди VPN адресът да съществува, също може да не се свърже, затова редът на стартиране има значение за преходен интерфейс. Дайте му повторен опит или го стартирайте след тунела. Отказ при свързване при зареждане изглежда точно като проблем със защитната стена на следващата сутрин.
За HTTPS запазете името на хоста на услугата и проверката на сертификата непокътнати. Предупреждението за сертификат на гол адрес е проблем с именуването, а не стъпка за прескачане, и частният DNS трябва да съвпада със слушателя, който сте избрали.
Отворете едно правило, не цялата мрежа
След като сокетът приема на VPN адреса, защитната стена решава дали заявката ще пристигне. Ограничете правилото до това приложение, този протокол, този локален порт и разрешения отдалечен източник и потвърдете кой профил е активен на VPN адаптера.
Използвайте адреса на източника, който Windows действително вижда, включително всяка транслация, извършвана от шлюза, защото правило, написано за оригиналния клиентски адрес, няма да съвпадне с транслатиран такъв.
Страница, която се зарежда и показва грешка на приложението, е напредък: отхвърлянето по HTTP е различен отказ от липсата на TCP връзка и следващото разследване принадлежи на собствената политика за достъп на приложението, а не на мрежата.
Завършете, като поискате страницата от предвидения телефон и потвърдите, че изключено устройство все още не може да я достигне. Работещ слушател с правило, което допуска всичко, не е същият резултат.