Telefon nemůže otevřít stránku: zkontrolujte adresu naslouchání
Stránka, která odpovídá na localhost, může být vázána jen na loopback. Přečtěte adresu socketu, potom pravidlo firewallu a URL, kterou telefon skutečně používá.
Notebook poskytuje stránku na localhost, telefon se připojí ke stejné VPN a prohlížeč v telefonu hlásí, že stránka není dostupná. S tunelem zatím není nic špatně, protože tunel jen doručuje pakety. Vývojový server vázaný na rozhraní loopback nikdy nepřijme spojení adresované něčemu jinému, takže první místo, kam se podívat, je naslouchající socket, ne VPN.
Projděte socket, nastavení bind, pravidlo firewallu a URL, přesně v tomto pořadí.
Socket odpovídá na užší otázku
Posluchač vytvořený na 127.0.0.1 přijímá provoz ze samotného stroje a odmítá vše, co dorazí na jinou adresu. Posluchač na zástupné adrese přijímá na všech místních rozhraních, včetně VPN, což je širší, než většina vývojových prostředí potřebuje. Posluchač vázaný na jednu konkrétní adresu VPN je nejužší užitečná možnost a funguje jen dokud tato adresa existuje.
Z toho plynou dvě nástrahy v pojmenování. V prohlížeči telefonu znamená localhost telefon, ne notebook. Zástupná adresa je hodnota pro bind, ne něco, co se píše do URL. Kdokoli testuje s jednou z nich, nahlásí selhání, které se sítě vůbec netýkalo.
IPv6 přidává třetí případ, protože socket může přijímat IPv4 i IPv6 podle možností, které lze snadno přehlédnout. Přečtěte rodinu adres ve výpisu. Zástupný záznam pro jednu rodinu tu druhou nepopisuje.
Přečtěte adresu naslouchání
Prohlédněte socket dřív, než změníte konfiguraci. Místní adresa, port a vlastnící proces společně určují, zda je server z VPN vůbec dosažitelný.
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
Místní adresa 127.0.0.1 otázku uzavírá: žádná změna firewallu nepomůže, protože aplikace na rozhraní VPN nenaslouchá. Zástupná adresa nebo adresa VPN znamená, že socket je v pořádku a platí další hranice.
Ověřte i vlastnící proces, protože nesouvisející služba na běžném portu může tabulku vykreslit správně, zatímco zamýšlený server se vůbec nespustil. Porovnejte cestu ke spustitelnému souboru, ne jen název. Zastaralý proces z dřívějšího běhu je častý podvodník.
Změňte bind přes aplikaci
Použijte dokumentovanou volbu adresy naslouchání daného frameworku a proces restartujte. Pokud notebook vlastní privátní adresu 10.77.0.1, URL telefonu se stane http://10.77.0.1:8080/ a tato adresa musí být směrována přes VPN; nic jiného v nastavení se nemění.
Nepřidávejte do Windows libovolné adresy ani neměňte bránu, abyste bind vynutili. Tyto změny přežijí ladicí sezení a překvapí dalšího člověka. Server spuštěný před vznikem adresy VPN také nemusí bind provést, takže u přechodného rozhraní záleží na pořadí startu. Dejte mu opakovaný pokus nebo ho spusťte po tunelu. Selhání bind při startu vypadá druhý den ráno přesně jako problém firewallu.
U HTTPS zachovejte název hostitele služby i ověřování certifikátu nedotčené. Varování certifikátu na holé adrese je problém pojmenování, ne krok k prokliknutí, a privátní DNS se musí shodovat s posluchačem, který jste zvolili.
Otevřete jedno pravidlo, ne celou síť
Jakmile socket na adrese VPN přijímá, firewall rozhoduje, zda požadavek dorazí. Ohraničte pravidlo touto aplikací, tímto protokolem, tímto místním portem a autorizovaným vzdáleným zdrojem a ověřte, který profil je na adaptéru VPN aktivní.
Použijte zdrojovou adresu, kterou Windows skutečně vidí, včetně případného překladu, který provádí brána, protože pravidlo napsané pro původní adresu klienta nebude odpovídat přeložené.
Stránka, která se načte a ukáže chybu aplikace, je pokrok: odmítnutí HTTP je jiné selhání než žádné TCP spojení a další vyšetřování patří zásadám přístupu samotné aplikace, ne síti.
Skončete tím, že si stránku vyžádáte z určeného telefonu a potvrdíte, že vyloučené zařízení se k ní stále nedostane. Fungující posluchač s pravidlem, které propustí vše, není stejný výsledek.