Laptopen serverar sidan på localhost, telefonen ansluter till samma VPN, och webbläsaren på telefonen rapporterar att webbplatsen inte kan nås. Det är ännu inget fel på tunneln, eftersom tunneln bara levererar paket. En utvecklingsserver bunden till loopback-gränssnittet accepterar aldrig en anslutning adresserad till något annat, så den första platsen att undersöka är den lyssnande socketen och inte VPN:en.

Gå igenom socketen, bind-inställningen, brandväggsregeln och URL:en, i den ordningen.

Socketen svarar på en snävare fråga

En lyssnare som skapats på 127.0.0.1 accepterar trafik från maskinen själv och avvisar allt som anländer på en annan adress. En lyssnare på jokerteckensadressen accepterar på alla lokala gränssnitt, inklusive VPN-gränssnittet, vilket är bredare än de flesta utvecklingsuppsättningar behöver. En lyssnare bunden till en specifik VPN-adress är det snävaste användbara alternativet, och det fungerar bara så länge adressen finns.

Två namnfällor följer av det. I telefonens webbläsare betyder localhost telefonen, inte laptopen. Jokerteckensadressen är ett bind-värde och inte något att skriva in i en URL. Den som testar med någon av dem rapporterar ett fel som aldrig involverade nätverket.

IPv6 lägger till ett tredje fall, eftersom en socket kan acceptera IPv4 och IPv6 beroende på alternativ som är lätta att förbise. Läs adressfamiljen i listningen. En jokerteckenpost för en familj beskriver inte den andra.

Läs lyssningsadressen

Inspektera socketen innan du ändrar konfigurationen. Den lokala adressen, porten och den ägande processen identifierar tillsammans om servern över huvud taget nås från VPN:en.

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

En lokal adress på 127.0.0.1 avgör frågan: ingen brandväggsändring hjälper, eftersom programmet inte lyssnar på VPN-gränssnittet. Jokertecken eller VPN-adressen betyder att socketen är okej och att nästa gräns gäller.

Bekräfta även den ägande processen, eftersom en orelaterad tjänst på en vanlig port kan få tabellen att se korrekt ut medan den avsedda servern aldrig startade. Matcha sökvägen till det körbara programmet, inte bara namnet. En gammal process från en tidigare körning är en vanlig bedragare.

Ändra bindningen via programmet

Använd ramverkets dokumenterade alternativ för lyssningsadress och starta om processen. Om laptopen äger den privata adressen 10.77.0.1 blir telefonens URL http://10.77.0.1:8080/ och adressen måste dirigeras genom VPN:en; inget annat i uppsättningen ändras.

Lägg inte till godtyckliga adresser i Windows och ändra inte gatewayen för att tvinga fram en bindning. De ändringarna överlever felsökningssessionen och överraskar nästa person. En server som startas innan VPN-adressen finns kan också misslyckas med att binda, så startordningen spelar roll för ett tillfälligt gränssnitt. Ge den ett nytt försök eller starta den efter tunneln. Ett bind-fel vid uppstart ser nästa morgon exakt ut som ett brandväggsproblem.

För HTTPS, behåll tjänstens värdnamn och certifikatvalideringen intakta. En certifikatvarning på en rå adress är ett namnproblem, inte ett steg att klicka sig förbi, och privat DNS måste stämma med den lyssnare du valde.

Öppna en regel, inte hela nätverket

När socketen accepterar på VPN-adressen avgör brandväggen om begäran anländer. Begränsa regeln till detta program, detta protokoll, denna lokala port och den auktoriserade fjärrkällan, och bekräfta vilken profil som är aktiv på VPN-adaptern.

Använd källadressen som Windows faktiskt ser, inklusive varje översättning som gatewayen utför, eftersom en regel skriven för den ursprungliga klientadressen inte matchar en översatt.

En sida som laddas och visar ett programfel är framsteg: HTTP-avvisning är ett annat fel än ingen TCP-anslutning, och nästa utredning hör till programmets egen åtkomstpolicy och inte till nätverket.

Avsluta med att begära sidan från den avsedda telefonen och bekräfta att en utesluten enhet fortfarande inte kan nå den. En fungerande lyssnare med en regel som släpper in allt är inte samma resultat.

Relaterade artiklar