Foon kan nie die bladsy oopmaak nie: kyk na die luisteradres
'n Bladsy wat op localhost antwoord, kan net aan loopback gebind wees. Lees die socketadres, dan die firewallreël en die URL wat die foon werklik gebruik.
Die skootrekenaar lewer die bladsy by localhost, die foon sluit by dieselfde VPN aan, en die blaaier op die foon meld dat die werf nie bereik kan word nie. Niks is nog verkeerd met die tonnel nie, want die tonnel lewer net pakkette. 'n Ontwikkelingsbediener wat aan die loopback-koppelvlak gebind is aanvaar nooit 'n verbinding wat aan iets anders geadresseer is nie, so die eerste plek om te kyk is die luisterende socket, nie die VPN nie.
Werk deur die socket, die bind-instelling, die firewallreël en die URL, in daardie volgorde.
Die socket beantwoord 'n smaller vraag
'n Luisteraar wat op 127.0.0.1 geskep is, aanvaar verkeer van die masjien self en weier alles wat op 'n ander adres aankom. 'n Luisteraar op die wildcard-adres aanvaar op elke plaaslike koppelvlak, insluitend die VPN een, wat wyer is as wat die meeste ontwikkelingsopstellings nodig het. 'n Luisteraar wat aan een spesifieke VPN-adres gebind is, is die nouste nuttige opsie, en dit werk net solank daardie adres bestaan.
Twee naamvalle volg daaruit. In die foon se blaaier beteken localhost die foon, nie die skootrekenaar nie. Die wildcard-adres is 'n bind-waarde eerder as iets om in 'n URL te tik. Enigiemand wat met een van die twee toets, sal 'n fout rapporteer wat nooit die netwerk betrek het nie.
IPv6 voeg 'n derde geval by, want 'n socket kan IPv4 en IPv6 aanvaar, afhangend van opsies wat maklik oor die hoof gesien word. Lees die adresfamilie in die lys. 'n Wildcard-inskrywing vir een familie beskryf nie die ander nie.
Lees die luisteradres
Ondersoek die socket voordat jy die konfigurasie verander. Die plaaslike adres, poort en eienaarproses identifiseer saam of die bediener hoegenaamd vanaf die VPN bereikbaar is.
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
'n Plaaslike adres van 127.0.0.1 besleg die vraag: geen firewallverandering sal help nie, want die toepassing luister nie op die VPN-koppelvlak nie. 'n Wildcard of die VPN-adres beteken die socket is reg, en die volgende grens geld.
Bevestig ook die eienaarproses, want 'n onverwante diens op 'n algemene poort kan die tabel korrek laat lyk terwyl die bedoelde bediener nooit begin het nie. Pas die uitvoerbare lêer se pad, nie net die naam nie. 'n Verouderde proses van 'n vroeëre lopie is 'n algemene bedrieër.
Verander die binding deur die toepassing
Gebruik die raamwerk se gedokumenteerde luisteradres-opsie en herbegin die proses. As die skootrekenaar die private adres 10.77.0.1 besit, word die foon se URL http://10.77.0.1:8080/ en daardie adres moet deur die VPN gerouteer word; niks anders aan die opstelling verander nie.
Moenie arbitrêre adresse by Windows voeg of die gateway verander om 'n binding af te dwing nie. Daardie veranderinge oorleef die ontfoutingsessie en verras die volgende persoon. 'n Bediener wat begin is voordat die VPN-adres bestaan, kan ook nie bind nie, so die beginvolgorde maak saak vir 'n verbygaande koppelvlak. Gee dit 'n herprobeerslag of begin dit ná die tonnel. 'n Bind-fout by die opstart lyk die volgende oggend presies soos 'n firewallprobleem.
Vir HTTPS, hou die diens se gasheernaam en sertifikaatvalidering ongeskonde. 'n Sertifikaatwaarskuwing op 'n rou adres is 'n naamprobleem, nie 'n stap om deur te klik nie, en private DNS moet met die luisteraar wat jy gekies het, saamstem.
Open een reël, nie die hele netwerk nie
Sodra die socket op die VPN-adres aanvaar, besluit die firewall of die versoek aankom. Beperk die reël tot hierdie toepassing, hierdie protokol, hierdie plaaslike poort en die gemagtigde afstandbron, en bevestig watter profiel op die VPN-adapter aktief is.
Gebruik die bronadres wat Windows werklik sien, insluitend enige vertaling wat die gateway doen, want 'n reël wat vir die oorspronklike kliëntadres geskryf is, sal nie 'n vertaalde een pas nie.
'n Bladsy wat laai en 'n toepassingsfout wys, is vordering: HTTP-verwerping is 'n ander fout as geen TCP-verbinding nie, en die volgende ondersoek hoort by die toepassing se eie toegangsbeleid, nie by die netwerk nie.
Sluit af deur die bladsy van die bedoelde foon aan te vra en te bevestig dat 'n uitgeslote toestel dit steeds nie kan bereik nie. 'n Werkende luisteraar met 'n reël wat alles toelaat, is nie dieselfde resultaat nie.