Corriger l’erreur EDGE INET_E_RESOURCE_NOT_FOUND sur un site local
Si vous faites du développement web avec une box Vagrant et que vous tentez de consulter votre site avec EDGE ,vous allez certainement être confronté à l’erreur INET_E_RESOURCE_NOT_FOUND à chaque tentative de connexion !
De prime abord cette erreur est d’autant plus incompréhensible, car quand vous consultez votre site local avec Internet Explorer, Chrome, Firefox ou tout autre navigateur, il n’y a aucune erreur de connexion et votre site hébergé dans une machine virtuelle Vagrant fonctionne parfaitement !
Afin de vous éviter une longue recherche sur le net pour comprendre le pourquoi du comment de cette erreur, je vous livre ici la solution.
En préambule, il faut prendre en compte que le navigateur Edge fonctionne de manière totalement différente d’Internet Explorer. Pour des raisons de sécurité propre au nouveau mode de conception des applications Windows 10, il est par défaut isolé de la boucle locale de votre machine.
En conséquence, il faut commencer par activer le bouclage local, ce qui autorisera le débogage des sites de développement présent sur votre réseau local.
Activer le bouclage pour l’accès au réseau d’EDGE
Lancez un terminal en mode administrateur et exécuter la commande ci-dessous.
Sous Windows 10 version 10158 ou plus récente :
CheckNetIsolation LoopbackExempt -a -n=Microsoft.MicrosoftEdge_8wekyb3d8bbwe
Si en retour vous obtenez « invalid parameter error » ajouter des guillemets comme ceci :
CheckNetIsolation LoopbackExempt -a -n="Microsoft.MicrosoftEdge_8wekyb3d8bbwe"
Pour les versions précédentes de Windows 10 :
CheckNetIsolation LoopbackExempt -a -n=Microsoft.Windows.Spartan_cw5n1h2txyewy
Vous pouvez en savoir plus sur l’exemption de bouclage et l’isolation réseau dans les applications Windows Runtime de cet article MSDN .
Maintenant Edge accepte de se connecter à n’importe quel site de votre réseau local.
Activer une adresse locale pour Vagrant/VirtualBox
Malheureusement si vous utilisez Vagrant avec VirtualBox, ce dernier oblige l’utilisation d’une plage d’adresse différente de celle de votre réseau local, car l’adresse IP et le nom de la machine virtuelle ne doit pas correspondre à celui du réseau ponté.
Pour exemple, si votre réseau local est 192.168.1.xx, vous devrez saisir pour votre box Vagrant l’adresse 192.168.56.xx, sous peine de ne pas pouvoir l’activer avec l’erreur « The specified host network collides with a non-hostonly network! This will cause your specified IP to be inaccessible. Please change the IP or name of your host only network so that it no longer matches that of a bridged or non-hostonly network. »
Donc la première chose à faire c’est définir en plus de l’adresse primaire nécessaire au démarrage de votre box, une adresse publique de la même classe que votre réseau.
Dans votre vagrantfile avec la ligne :
config.vm.network "public_network", ip: "192.168.0.1
8
"
Plus d’info sur ce réglage sur le site de Vagrant
Ensuite, il ne reste plus qu’a régler la configuration de votre site de développement dans le serveur web (Apache, Nginx, etc..) pour qu’il utilise l’IP publique et non l’IP primaire de votre box Vagrant
Si vous utilisez Laravel Homestead, c’est encore plus simple. Il vous suffit de modifier votre fichier Homestead.yaml comme ceci :
ip: 192.168.56.6 # IP primaire de votre box networks: - type: public_network ip: 192.168.0.18 # IP publique de votre box sites: - map: votresite.local ip: 192.168.0.18 # IP publique de votre site to: /home/vagrant/code/public
Plus d’info sur ce réglage sur le site de Laravel
Bien entendu, ne pas oublier d’ajouter l’adresse de votre site dans le fichier host de Windows accessible en mode administrateur sous C:\Windows\System32\drivers\etc\hosts
192.168.0.18 votresite.local
Au final vous constaterez avec plaisir que vous pouvez maintenant déboguer correctement sous EDGE votre site de développement hébergé dans une box Vagrant.
Laisser un commentaire