windows - Hvorfor kan du ikke oprette forbindelse til http service binding på 127.0.0.1 med nogen porte

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg skrev en simpel http-server i Go-sprog som nedenfor:


http.ListenAndServe(":8888", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
    w.Write([]byte("hello"))
}))


Når jeg tester det på visse maskine kører Windows 7, fandt jeg, at klienten ikke kunne oprette forbindelse til serveren.


telnet 127.0.0.1 8888
connecting 127.0.0.1… can't open connection to the host.  on port 8888: connect failed. (I translate it from Chinese.)


Så fik jeg resultaterne fra andre test tilfælde:



  1. ping localhost og 127.0.0.1, vellykket.

  2. telnet localhost 8888, vellykket.

  3. telnet :: 1 8888, vellykket.

  4. netstat -ano | find '8888', serveren har lyttet til 0.0.0.0:8888 og ::: 8888.

  5. Kontroller værtsfilen til OS, den er standardkonfiguration (intet andet).

  6. Kontroller netværksadapteren, den åbner ikke IPV6-adapteren.

  7. Maskinen er i domænenetværk.

  8. IP-sikkerhedspolitikken er en tom liste.

  9. Da jeg åbnede MMC (Microsoft Management Console), fik jeg en advarsel som denne:

    Meddelelsesboks

    Det betyder 's:

    Kan ikke finde ressource '$ (string.SiteDiscoveryEnableWMI)' (referencer i egenskabsvisningskode). Fil C: \ windows \ PolicyDefinitions \ inetres.admx, linje 64620, række 235



Nogen kan fortælle mig, hvad der foregår? [6]

Bedste reference


Hvis XAMPP kører i din maskine, bruger den lokale server nogle gange 127.0.0.1 som standard.
Dette kan være årsagen til, at ping localhost virker, men telnet er ikke.


Ellers skal du kontrollere andre netværkstjenester eller lokalbefolkningen, som du har kørt for eventuelle konflikter.


Skål!