Wie viele Programmierer teste ich Websites lokal.
Ich verwende die Hosts-Datei, um Domain-Namen meiner lokalen IP (127.0.0.1) zuzuordnen.
Ich verwende qualifizierte Domainnamen, normalerweise mit einer "d" -Unterdomäne (für "Entwicklung").
Zum Beispiel:
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 Seltsames an den Domainnamen, das nicht funktioniert. Nur eine einfache d.someletters.com
.
Sie funktionieren gut in Chrome, IE und Firefox.
In Edge wird die Fehlermeldung angezeigt: "Hmm, wir können diese Seite nicht erreichen."
Zuerst dachte ich, es würde die IP nicht auflösen. Als ich jedoch einen Tippfehler für eine andere nicht verwandte 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 beheben kann, sendet er diese spezielle Suchergebnisseite mit Vorschlägen zurück, die Sie möglicherweise suchen. Wenn ich zu meiner lokalen Domain gehe, erhalte ich diese Seite nicht von meinem ISP. Ich bekomme den oben genannten Fehler direkt von der Kante.
Es scheint mir also, dass Edge die Domain korrekt auflöst, sonst wäre sie an das DNS meines ISP gesendet worden.
Dann würde ich denken, dass Edge möglicherweise keine Verbindung zum lokalen Computer herstellen kann. Aber wie gesagt, einige dieser lokalen Domänen 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 dies wichtig ist.
Wenn ich das Debug-Fenster in Edge öffne und das Netzwerk überwache, werden überhaupt keine Anforderungen angezeigt.
BEARBEITEN: Ich verwende die Hosts-Datei nicht mehr. Ich habe dnsmasq auf einer meiner Linux-Boxen und verwende es für DNS anstelle von Hosts. Ich verwende auch kein Loopback mehr (offensichtlich, da sich DNS jetzt auf einer anderen Box befindet), sondern eine interne private IP-Adresse (192.168 ...). Gleicher Fehler.
quelle
Antworten:
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:
(
Microsoft.MicrosoftEdge_8wekyb3d8bbwe
ist die Kennung für die Edge-App)Hier gibt es einen Blog-Beitrag mit weiteren Details: https://blogs.msdn.microsoft.com/msgulfcommunity/2015/07/01/how-to-debug-localhost-on-microsoft-edge/
quelle
Ich habe es gelöst!
Dinge, die nicht funktionierten:
Die Lösung: in einer völlig kontraintuitiven Wendung:
Entfernen Sie die Domainnamen aus Ihrer Liste der vertrauenswürdigen Sites !
Ich sollte beachten, dass ich mit gesundem Menschenverstand herausgefunden habe, dass es nicht nur die Tatsache war, dass die Site lediglich 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 Domainnamen aus der Liste "Sites" löschte, habe ich alle Einstellungen genau auf meine Internetzoneneinstellungen abgestimmt (mittlere Sicherheit, aktivierten geschützten Modus, keine Serverüberprüfung für alle Sites erforderlich), und ich habe es auch versucht jede andere Kombination, die ich finden konnte. Es gab keine funktionierende Kombination von Zonensicherheitseinstellungen. Die einzige Lösung bestand darin, die Domänen einfach vollständig aus der Liste der vertrauenswürdigen Sites zu entfernen. Lustige Sache ist, dass es im IE unabhängig funktioniert, obwohl dies der Internet-Einstellungsdialog für IE ist. Dies scheint nur Edge zu betreffen.
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 "Loopback zulassen" aktiviert über: Flags, daher hatte ich nicht erwartet, dass der CheckNetIsolation-Fix funktioniert. Aber es tat es. Die 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
EDIT # 2 Ein paar Monate später und Edge hat dieses Problem wieder. 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 ich zwei verschiedene Probleme hatte.
quelle
CheckNetIsolation LoopbackExempt -a -n="Microsoft.MicrosoftEdge_8wekyb3d8bbwe"
in einer Eingabeaufforderung mit erhöhten Rechten behoben.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 gefunden habe:
Installieren und ausführen
fiddler
. Fiddler fängt die Anfrage grundsätzlich vom Browser ab und leitet sie dann an das Ziel weiter. Dies ist die einfachste Problemumgehung.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 im127.0.0.0/8
Bereich und das Zuordnen dieser IP zur IP des Webservers im VPN. Eine schrittweise Anleitung finden Sie hierVerwenden Sie die Portweiterleitungsfunktion von ssh, um einen Proxy zu konfigurieren. Angenommen, Port 80 ist auf localhost verfügbar, fügen Sie ihn
127.0.0.1 d.somewebsite.com
zu Ihrer Hostdatei hinzu und führen Sie den folgenden Befehl ssh aus:ssh -L localhost:80:localhost:80 user@devwebserver
Wodevwebserver
ist der Hostname Ihres Entwicklungswebservers (z. B. in der VM- oder Vagrant-Instanz oder über das VPN)? Diese Option setzt voraus, dass Sie SSH-Zugriff auf den Dev-Server haben.quelle
Ihre Lösung "Von vertrauenswürdigen Sites entfernen" 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 prüfen, und es ist mir gelungen, IIS unter Windows 10 für lokale Websites für mich zum Laufen zu bringen. Folgendes habe ich getan:
quelle
Gilt möglicherweise nicht für Ihre Situation, aber dennoch. Mein Setup war wie folgt. Eine öffentliche Adressseite (Internet) versuchte, eine Seite mit einer privaten Speicheradresse (Intranet) in einem Iframe zu laden, und Edge lehnte es ab, 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 Internet- / Intranet-Zonen nicht gerne mischt (siehe Grundlegendes zum erweiterten geschützten Modus) Gründe hierfür finden Blogbeitrag zum ). 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 sich die betreffende Intranetseite befand, aus dem Domänennetzwerk zu entfernen, indem ihm eine zweite IP für den privaten Bereich zugewiesen wurde, und dieser IP einen zweiten DNS-Eintrag zu erstellen. Der Server verfügt über zwei IPs: eine im Domänennetzwerk und eine alternative und zwei verschiedene DNS-Einträge. Edge wird dann auf die alternative URL verwiesen und die Intranetseite wird problemlos geladen. Solange die IP-Masken des PCs und die betreffende Seiten-URL nicht übereinstimmen, wird Edge die Seite anscheinend laden.
Der Blog-Beitrag, den ich erwähnt habe, enthält Informationen zu Loopback-blockiert für localhost und mangelnde PrivateNetworkClientServer-Funktionen im IE. Soweit ich das beurteilen kann, gelten diese Informationen für Edge.
quelle
<html><body>hello</body></html>
Der Name meines Computers enthält keinen Domänennamen (nicht qualifiziert). Außerdem kann ich mit der Hostdatei zu mehreren lokalen Sites gelangen. Nur nicht dieser. Also funktionieren d.test1.com und d.test2.com beide, aber dieser, t.test3.com, funktioniert nicht. Es funktioniert gut in anderen Browsern.Wenn mir dies passiert, kann ich im Registrierungsschlüssel unten einen Domäneneintrag finden, der der Domäne entspricht. 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 \ CurrentVersion \ AppContainer \ Storage \ microsoft.microsoftedge_8wekyb3d8bbwe \ MicrosoftEdge \ TabProcConfig
quelle
TabProcConfig
unter diesem Pfad nicht finden (für den aktuellen Benutzer existiert der angegebene Benutzer nicht).Aus Ihrer Bearbeitung geht hervor, dass Sie jetzt unter der Adresse 192.168.0.0/16 und nicht unter der Adresse 127.0.0.1 auf die Site zugreifen. Ich vermute, dass Sie auf ein Problem mit dem Verhalten des Edge-Browsers stoßen, das sich je nach der für den Zugriff verwendeten Schnittstelle unterschiedlich verhält der Standort. Andere Browser, die ich ausprobiert habe, verhalten sich nicht so.
In meiner Umgebung hatte ich ein Nur-Virtualbox-Host-Netzwerk-Setup und dies hatte einen NdisDeviceType von 1. Edge erlaubte mir nur, über diese Schnittstelle zu Sites zu navigieren, nachdem ich NdisDeviceType auf 0 geändert hatte. Der Registrierungsschlüssel, den Sie benötigen, ist:
Anstelle von XXXX benötigen Sie den richtigen Schlüssel für Ihre Schnittstelle, den ich aus "Routendruck" ermittelt und 1 abgezogen habe. Für mich war es "0016".
Der zu ändernde Wert wird aufgerufen
*NdisDeviceType
. (Das ist ein wörtliches Sternchen.) Ich habe es von 0 auf 1 geändert und musste für Windows neu starten, um die Änderung zu bemerken.Meine Antwort wurde aus einem Beitrag von "Jani L" vom 3. Oktober 2017 entnommen . Ich habe diese Lösung auch detaillierter auf eine andere Frage zum Stapelüberlauf gepostet . Siehe auch ein Virtualbox-Ticket 15565 .
quelle
Keine der anderen Lösungen hat bei mir funktioniert. Es stellt sich heraus, dass mein Problem mit VPN zusammenhängt. Microsoft Edge unterstützt VPN-IP-Adressen immer noch nicht, während Internet Explorer 11 dies tut. 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
quelle
In meinem Fall hat es den Trick getan, den Netzwerktyp von privat auf öffentlich zu ändern. Dies ist auch reproduzierbar und das Ändern des zuverlässigen Netzwerktyps ändert den Status von "Arbeiten" zu "Erhalten":
Http failure response for (unknown url): 0 Unknown Error
quelle
Für mich ging ich zu Internetoptionen (Systemsteuerung), dann zu Sicherheit, wählte dann das lokale Intranet aus und setzte ein Häkchen in "Intranet-Netzwerk automatisch erkennen". Dadurch wurden die unten aufgeführten verschachtelten Optionen ausgegraut, und Edge begann sofort mit der Verwendung meiner Hosts-Datei.
quelle