it-swarm.com.de

Warum öffnet Microsoft Edge einige lokale Websites, andere jedoch nicht, bei denen der Domänenname in der Hosts-Datei auf 127.0.0.1 umgeleitet wird?

Wie viele Programmierer teste ich Websites lokal.
Ich verwende die hosts-Datei, um Domainnamen meiner lokalen IP (127.0.0.1) zuzuordnen.

Ich verwende qualifizierte Domainnamen, normalerweise mit einer "d" Subdomain (für "Entwicklung").

Beispielsweise:

d.somewebsite.com 
d.anotherwebsite.com 
and so on...

In Microsoft Edge funktionieren die meisten Websites. Einige von ihnen tun dies jedoch nicht. Es gibt nichts Besonderes oder Verrücktes an den Domain-Namen, das nicht funktioniert. Nur ein einfaches d.someletters.com.

Sie funktionieren einwandfrei in Chrome, IE und Firefox.

In Edge erhalte ich die Fehlermeldung: "Hmm, wir können diese Seite nicht erreichen."

Zuerst dachte ich, dass es die IP nicht auflöst. Als ich jedoch einen Tippfehler bei einer anderen nicht verwandten URL machte, wurde mir klar, dass Anforderungen, die nicht von der Hosts-Datei weitergeleitet werden, zur Lösung an meinen ISP gesendet werden. Wenn mein ISP das Problem nicht lösen kann, sendet er diese spezielle Suchergebnisseite mit Vorschlägen zu den möglichen Suchvorgängen zurück. Wenn ich zu meiner lokalen Domain gehe, erhalte ich diese Seite nicht von meinem ISP. Ich erhalte den oben genannten Fehler direkt von Edge.

Ich habe den Eindruck, dass Edge die Domain korrekt auflöst, da sie sonst an den DNS meines Internetdienstanbieters gesendet worden wäre.

Ich würde also denken, dass Edge möglicherweise keine Verbindung zum lokalen Computer herstellen kann. Aber wie gesagt, einige dieser lokalen Domains funktionieren einwandfrei. Die Verwendung von 127.0.0.1 direkt in Edge funktioniert ebenfalls. Es sind nur diese paar Domainnamen, die mir ein Problem bereiten. Und nur in Edge (alle anderen Browser funktionieren) Irgendwelche Ideen?

Der Webserver ist Apache2 für Windows (xampp), wenn das wichtig ist.

Wenn ich das Debug-Fenster in Edge öffne und das Netzwerk überwache, werden keine Anforderungen mehr angezeigt.

EDIT: Ich benutze die hosts-Datei nicht mehr. Ich habe dnsmasq auf einer meiner Linux-Boxen ausgeführt und verwende es für DNS anstelle von Hosts. Ich benutze auch kein Loopback mehr (offensichtlich, da DNS jetzt auf einer anderen Box ist), sondern eine interne private IP-Adresse (192.168 ...). Gleicher Fehler.

63
Evan de la Cruz
  • Ihr Netzwerk kann Loopback als Sicherheitsmaßnahme in Windows 10 blockieren.

  • Öffnen Sie eine Eingabeaufforderung als Administrator und führen Sie diese aus, um Edge von einem Loopback auszunehmen:

    CheckNetIsolation LoopbackExempt -a -n="Microsoft.MicrosoftEdge_8wekyb3d8bbwe"
    

(Microsoft.MicrosoftEdge_8wekyb3d8bbwe ist die Kennung für die Edge-App)

Hier gibt es einen Blogeintrag mit weiteren Details: https://blogs.msdn.Microsoft.com/msgulfcommunity/2015/07/01/how-to-debug-localhost-on-Microsoft-Edge/

102
Chris Halcrow

Ich (dachte ich) habe es gelöst!

Dinge, die nicht geklappt haben:

  • Vornehmen von Änderungen an IE Kompatibilitätseinstellungen oder Windows-Kompatibilitätslisten
  • Verwenden vollqualifizierter Domainnamen
  • Verwenden einer anderen IP-Adresse als Loopback
  • mit http vs https
  • entfernen Sie alle Javascript- und Cross-Site-Skripte/-Ressourcen von der Webseite
  • aktivieren/Deaktivieren der Option unter about: Flags zum Zulassen von Localhost-Loopbacks oder zum Verwenden von Kompatibilitätseinstellungen
  • entfernen/Hinzufügen/Bearbeiten der Einträge in der TabProcConfig der Windows Registry
  • browserverlauf, Cache, Cookies löschen

Die Lösung: in einer völlig kontraintuitiven Wendung:

Entfernen Sie die Domainnamen aus Ihrer Liste vertrauenswürdiger Sites!

  1. Öffne den Internetoptionen Dialog (frage einfach Cortana oder benutze Windowskey + s)
  2. Gehen Sie zur Registerkarte Sicherheit
  3. Klicken Sie auf die Vertrauenswürdige Sites Zone
  4. Klicken Sie auf die Schaltfläche Sites
  5. Entfernen Sie die problematischen Domainnamen aus der Liste der vertrauenswürdigen Sites
  6. Klicken Sie auf Übernehmen und schließen Sie den Dialog
  7. Öffnen Sie Edge (oder starten Sie es neu, wenn es bereits ausgeführt wird)
  8. Viola

Ich sollte beachten, dass ich mit gesundem Menschenverstand herausgefunden habe, dass es nicht nur die Tatsache war, dass die Site nur in der Zone "Vertrauenswürdige Sites" vorhanden war, die das Problem verursacht hat. Ich dachte, es wäre eine Einstellung in dieser Zone. Bevor ich die Domänennamen aus der Liste "Sites" löschte, stimmten alle Einstellungen exakt mit meinen Internetzoneneinstellungen überein (mittlere hohe Sicherheit, geschützter Modus aktivieren, keine Serverüberprüfung für alle Sites erforderlich), und ich habe es auch versucht jede andere Kombination konnte ich finden. Es gab keine Kombination von Zonen-Sicherheitseinstellungen, die funktionierte. Die einzige Lösung bestand darin, die Domänen einfach vollständig aus der Liste der vertrauenswürdigen Sites zu entfernen. Das Komische ist, dass es in IE unabhängig davon funktioniert, obwohl dies der Internet-Einstellungsdialog für IE ist. Dies scheint nur Edge zu betreffen.

Windows 10 Internet Options

Remove Trusted Sites from the Trusted Zone

BEARBEITEN: Zwei Wochen später ändere ich meine Konfiguration so, dass anstelle der Hosts-Datei dnsmasq auf einem lokalen Linux-Computer verwendet und für DNS verwendet wird. Ich bin mir nicht sicher, ob es sofort passiert ist, aber irgendwann hat Edge wieder aufgehört zu arbeiten! Ich hatte bereits das Kontrollkästchen "Schleife zulassen" aktiviert, um: Flags zu kennzeichnen, daher hatte ich nicht damit gerechnet, dass der CheckNetIsolation-Fix funktioniert. Aber das hat es getan. Edge-Version ist 20.10240.16384.0. Ich habe das Update von Kann localhost in Microsoft Edge (Project Spartan) in der Windows 10-Vorschau nicht öffnen verwendet

BEARBEITEN SIE # 2 Ein paar Monate später und Edge hat wieder dieses Problem. Ich habe beide vorherigen Lösungen (und andere) ausprobiert und keine von beiden funktioniert mehr für mich. Ich lasse diese Antwort, weil ich davon ausgehe, dass zwei verschiedene Probleme aufgetreten sind.

11
Evan de la Cruz

Edge unterstützt keine VPN-IP-Adressen, daher muss für jede Problemumgehung eine Art Proxy verwendet werden. Hier sind einige Lösungen, die ich Arbeit gefunden habe:

  1. Installieren Sie fiddler und führen Sie es aus. Fiddler fängt die Anfrage grundsätzlich vom Browser ab und leitet sie dann an das Ziel weiter. Dies ist die einfachste Problemumgehung.

  2. Konfigurieren Sie einen Proxy über das integrierte Windows-Tool: netsh. Die grundlegenden Schritte umfassen das Zuweisen Ihrer Entwicklungsdomäne zu einer verfügbaren lokalen privaten IP-Adresse im Bereich 127.0.0.0/8 Und das Zuordnen dieser IP zur IP des Webservers im VPN. Siehe Schritt-für-Schritt-Anleitung hier

  3. Verwenden Sie die Portweiterleitungsfunktion von ssh, um einen Proxy zu konfigurieren. Angenommen, Port 80 ist auf localhost verfügbar, fügen Sie 127.0.0.1 d.somewebsite.com Zu Ihrer Host-Datei hinzu, und führen Sie dann den folgenden ssh-Befehl aus: ssh -L localhost:80:localhost:80 [email protected], Wobei devwebserver der Hostname Ihres Entwicklungs-Webservers ist ( Sagen Sie in der VM oder Vagrant-Instanz oder über das VPN). Diese Option setzt voraus, dass Sie über SSH-Zugriff auf den Dev-Server verfügen.

9
ttk

Ihre Lösung zum Entfernen von vertrauenswürdigen Sites hat bei mir nicht funktioniert, da sich meine lokalen Sites nicht auf meinen vertrauenswürdigen Sites befanden.

Aber Sie haben mich dazu gebracht, die Internetoptionen zu überprüfen, und ich habe es geschafft, dass IIS für lokale Websites unter Windows 10 funktioniert. Das habe ich getan:

  1. Öffnen Sie die Internetoptionen und wählen Sie "Lokales Intranet"

enter image description here

  1. Klicken Sie auf "Sites"

enter image description here

  1. Klicken Sie auf "Intranet-Netzwerk automatisch erkennen"

enter image description here

  1. OK klicken. Probieren Sie Ihren lokalen Computerstandort in Microsoft Edge aus und es sollte jetzt funktionieren.
7
lkessler

Gilt möglicherweise nicht für Ihre Situation, aber dennoch. Mein Setup war wie folgt. Eine Seite mit der Adresse des öffentlichen Bereichs (Internet) hat versucht, eine Seite mit einer Adresse des privaten Bereichs (Intranet) in einem Iframe zu laden, und Edge hat sich geweigert, die Intranetseite mit der gleichen Meldung "Hmm, wir können diese Seite nicht erreichen" zu laden. und mit "SEC7117 Error" in der Debug-Konsole. Es stellt sich heraus, dass Edge das Mischen von Internet-/Intranetzonen nicht mag (siehe Grundlegendes zum erweiterten geschützten Modus Blogbeitrag aus Gründen, warum). Edge führt Registerkarten in separaten AppContainern aus und AppContainer-Netzwerkeinschränkungen hängen von Ihrer Netzwerkkonfiguration ab.

Meine Lösung bestand darin, den Server, auf dem die betreffende Intranetseite gehostet wurde, aus dem Domänennetzwerk zu entfernen, indem ihm eine zweite IP-Adresse für den privaten Bereich zugewiesen wurde, und dieser IP-Adresse einen zweiten DNS-Eintrag zuzuweisen. Der Server hat zwei IP-Adressen: eine im Domain-Netzwerk und eine alternative und zwei verschiedene DNS-Einträge. Edge zeigt dann auf die alternative URL und lädt die Intranetseite einwandfrei. Es sieht so aus, als würde Edge die Seite laden, solange die IP-Masken des PCs und die betreffende Seiten-URL nicht übereinstimmen.

Der Blog-Beitrag, den ich erwähnte, enthält Informationen zu Loopback-gesperrt für localhost und fehlende privateNetworkClientServer-Funktionen im IE. Soweit ich das beurteilen kann, gelten diese Informationen für Edge.

3
beluga

Wenn mir dies passiert, kann ich im Registrierungsschlüssel darunter einen Domäneneintrag finden, der mit der Domäne übereinstimmt. Wenn ich es entferne, funktionieren die Dinge für eine Weile ... Ich weiß nicht warum, aber Edge wird es irgendwann wieder hinzufügen.

Computer\HKEY_USERS\S-1-5-21-964789662-521690395-1734141374-1111\Software\Klassen\Lokale Einstellungen\Software\Microsoft\Windows\Aktuelle Version\AppContainer\Speicher\Microsoft.microsoftedge_8wekyb3d8bbwe\MicrosoftEdge\TabProcConfig

3
Brian

In meinem Fall hat der Wechsel des Netzwerktyps von privat zu öffentlich den Trick getan. Dies ist auch reproduzierbar und eine zuverlässige Änderung des Netzwerktyps ändert den Status von "funktioniert" zu: Http failure response for (unknown url): 0 Unknown Error

2
Aros

Keine der anderen Lösungen hat für mich funktioniert. Es stellt sich heraus, dass mein Problem mit VPN zusammenhängt. Microsoft Edge unterstützt weiterhin keine VPN-IP-Adressen, Internet Explorer 11 jedoch. Beeindruckend, dass dies ab Mai 2016 noch ein Thema ist.

Zusätzliche Details: https://social.technet.Microsoft.com/Forums/en-US/b3a687ae-345d-4c3f-9070-184b33fb1fc6/Microsoft-Edge-cant-access-vpn-ip-address-but -ie-11-can? forum = win10itprogeneral

Derzeit scheint Microsoft Edge mit VPN nicht gut zu funktionieren. Und der Mechanismus zum Herstellen einer Internetverbindung von Microsoft Edge unterscheidet sich ein wenig von Internet Explorer 11 und den anderen Desktop-Browsern, was ich nicht klar erklären kann, da ich nicht viel darüber weiß.

Verwenden Sie aus heutiger Sicht stattdessen den Internet Explorer 11.

2
Vika

Aus Ihrer Bearbeitung geht hervor, dass Sie jetzt auf die Site unter der Adresse 192.168.0.0/16 und nicht unter der Adresse 127.0.0.1 zugreifen. Vermutlich stoßen Sie auf ein Problem mit dem Verhalten des Edge-Browsers in Abhängigkeit von der für den Zugriff verwendeten Benutzeroberfläche der Standort. Andere Browser, die ich ausprobiert habe, verhalten sich nicht so.

In meiner Umgebung hatte ich eine Nur-Virtualbox-Host-Netzwerkkonfiguration mit einem NdisDeviceType von 1. Mit Edge konnte ich nur zu Websites über diese Schnittstelle navigieren, nachdem ich NdisDeviceType auf 0 geändert hatte. Der erforderliche Registrierungsschlüssel lautet:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\XXXX

Anstelle von XXXX benötigst du den richtigen Schlüssel für dein Interface, den ich aus "Route drucken" ermittelt und 1 abgezogen habe. Bei mir war es "0016".

Der zu ändernde Wert heißt *NdisDeviceType. (Das ist ein wörtliches Sternchen.) Ich habe es von 0 auf 1 geändert und musste neu starten, damit Windows die Änderung bemerkt.

Meine Antwort wurde aus einem Beitrag von "Jani L" vom 3. Oktober 2017 entnommen. Ich habe diese Lösung auch ausführlicher unter eine weitere Stapelüberlauf-Frage gepostet. Siehe auch Virtualbox-Ticket 15565 .

1
rohanc

Für mich ging ich zu Internetoptionen (Systemsteuerung), dann zu Sicherheit, dann wählte ich lokales Intranet und setzte dann ein Häkchen in "Intranet-Netzwerk automatisch erkennen". Dies hat die verschachtelten Optionen unten abgeblendet, und Edge hat sofort begonnen, meine Hosts-Datei zu verwenden.

0
frumbert