Localhost n’autorise pas la connexion : 5 solutions pour résoudre l’erreur
Parmi les différentes erreurs de connexion au réseau que vous pouvez rencontrer, il y a l’erreur “localhost refused to connect” ou “ERR_Connection_Refused“.
Lorsque vous essayez de vous connecter à une adresse IP, vous essayez généralement de vous connecter à un autre ordinateur. Cependant, comme localhost utilise le réseau d’adresses de bouclage, s’y connecter signifie que vous établissez une connexion avec votre propre ordinateur.
C’est pourquoi de nombreux développeurs et administrateurs de réseau utilisent localhost pour tester des programmes ou des sites en cours de développement. Cela réduit le risque d’interrompre un site en cours de développement.
Ainsi, si vous ne pouvez pas accéder à localhost, vous ne pourrez pas accéder à votre projet dans un environnement local.
Les causes de cette erreur sont diverses, comme le montre le tableau ci-dessous. Notez également que vous devez être sur votre machine locale pour accéder à votre localhost – vous ne pouvez pas y accéder sur un autre appareil.
Code d’erreur | Localhost n’autorise pas la connexion |
Type d’erreur | Navigateur / pare-feu |
Variations d’erreurs | ERR_CONNECTION_REFUSED 127.0.0.1 refuse de se connecter Ce site n’est pas accessible localhost n’autorise pas la connexion. |
Causes des erreurs | Serveur bloqué par un pare-feu Serveur fonctionnant sur un mauvais port Le serveur Apache ne fonctionne pas correctement Les paramètres du navigateur doivent être reconfigurés |
Sommaire
Qu’est-ce que l’erreur Localhost Refused to Connect ?
Il s’agit d’une erreur courante qui peut se produire lorsque l’on travaille sur une machine locale. L’hôte local simule un serveur web fonctionnant sur votre ordinateur. Lorsque l’erreur “localhost n’autorise pas la connexion” apparaît, elle est probablement due à une mauvaise configuration du port. Parmi les autres raisons courantes, citons les autorisations insuffisantes et le mauvais fonctionnement du serveur web Apache.
5 méthodes pour résoudre l’erreur “Localhost n’autorise pas la connexion“
Voici cinq méthodes pour résoudre l’erreur “localhost refused to connect“, sans ordre particulier.
1. Désactivez temporairement votre pare-feu
Un pare-feu est un système de sécurité qui surveille et filtre votre trafic, bloquant ainsi les menaces potentielles. Bien qu’il s’agisse d’un outil important, les protocoles de détection peuvent parfois fonctionner de manière imprécise.
Un pare-feu peut bloquer à tort des pages web sûres ou des connexions entrantes. Par conséquent, si vous développez actuellement un site web et que vous devez accéder à sa version hébergée localement, il est préférable de désactiver temporairement le pare-feu. Ainsi, votre site de test ne sera pas bloqué.
N’oubliez pas de réactiver votre pare-feu dès que le site internet est en ligne et que vous ne voyez plus le message “ERR_CONNECTION_REFUSED” localhost.
Voici la marche à suivre pour désactiver le pare-feu sur Mac, Windows et Linux, respectivement.
Comment désactiver le pare-feu sur Mac
- Accédez aux préférences du système.
- Sélectionnez Sécurité et confidentialité.
- Sélectionnez l’onglet Pare-feu pour afficher les paramètres complets du pare-feu.
- Cliquez sur l’icône du cadenas, puis saisissez votre nom d’utilisateur et votre mot de passe.
- Un message vous informe que si vous désactivez le pare-feu, vous accepterez toutes les connexions entrantes, y compris celles qui pourraient contenir des ressources non autorisées. Cliquez sur le bouton Désactiver le pare-feu.
- Cliquez sur le cadenas pour empêcher toute modification ultérieure de ce paramètre sans votre autorisation.
Notez que les étapes pour désactiver le pare-feu sur Mac peuvent être légèrement différentes en fonction de la version de macOS.
Comment désactiver le pare-feu sous Windows
Il existe deux façons de désactiver le pare-feu sous Windows 10, 8, 7 et Vista : via le panneau de configuration ou l’invite de commande.
Voici la marche à suivre pour désactiver le pare-feu à l’aide du panneau de configuration :
- Ouvrez le panneau de configuration, puis naviguez vers Système et sécurité -> Pare-feu Windows Defender.
- Sélectionnez Activer ou désactiver le pare-feu Windows Defender.
- Désactivez les deux pare-feu dans les paramètres des réseaux privé et public.
- Cliquez sur le bouton OK pour appliquer les modifications.
Si l’option n’est pas cliquable, cela signifie que les paramètres du pare-feu sont contrôlés par un autre programme de sécurité. Dans ce cas, vous pouvez commencer par désinstaller cette application.
En attendant, ces étapes s’appliquent à la désactivation du pare-feu via l’invite de commande :
- Ouvrez l’invite de commande en tant qu’administrateur.
- Entrez la commande suivante :
netsh advfirewall set allprofiles state off
Comment désactiver le pare-feu sous Linux
Les étapes pour arrêter et désactiver le pare-feu varient en fonction de votre distribution Linux.
Si vous utilisez Ubuntu ou Debian, votre pare-feu devrait être géré par ufw. Si vous utilisez CentOS ou RHEL, l’outil de gestion de pare-feu par défaut sera firewalld.
Il est important d’arrêter le pare-feu avant de le désactiver. Sinon, des erreurs se produiront au cours de la procédure.
Pour désactiver le pare-feu sur l’ufw, procédez comme suit :
- Arrêtez l’ufw à l’aide de cette commande :
sudo ufw disable
- Une fois que le pare-feu s’est arrêté avec succès, exécutez une commande pour désactiver le service ufw au démarrage.
sudo systemctl disable ufw
- Vérifiez que l’ufw est désactivé à l’aide de cette commande :
sudo ufw status sudo systemctl status ufw
- Réactiver l’ufw.
sudo systemctl enable ufw sudo ufw enable ## vérifier que ufw a démarré ## sudo ufw status
Alternativement, voici les étapes pour arrêter et désactiver le pare-feu sur firewalld :
- Arrêtez le firewalld à l’aide de la commande suivante.
sudo systemctl stop firewalld
- Désactivez le firewalld au démarrage en utilisant cette commande.
sudo systemctl disable firewalld sudo systemctl mask --now firewalld
- Il suffit d’entrer cette commande pour vérifier si le firewalld a été désactivé.
sudo systemctl status firewalld
- Exécutez les commandes suivantes pour réactiver firewalld.
sudo systemctl unmask --now firewalld sudo systemctl enable firewalld sudo systemctl start firewalld ## vérifier que le firewalld a démarré ## sudo firewall-cmd --state
2. Purgez votre DNS
Le cache DNS stocke les données des sites web que vous visitez, de sorte que ces pages web se chargent plus rapidement la prochaine fois que vous y accédez.
Toutefois, si le DNS contient trop d’enregistrements, il risque de ne pas fonctionner.
Pour résoudre ce problème, videz le DNS afin d’effacer les enregistrements :
- Ouvrez l’invite de commande en tapant cmd dans la barre de recherche à côté du menu Démarrer.
- Entrez cette commande :
ipconfig /flushdns
- Vérifiez si le problème 127.0.0.1 refuse de se connecter a disparu ou non.
3. Se connecter au port spécifié
Le numéro de port par défaut du serveur web est 80. Si vous essayez d’y accéder en tapant localhost dans votre navigateur – ce qui vous dirigera vers localhost:80 – mais qu’il s’avère que votre serveur web n’est pas configuré pour utiliser le port par défaut, vous obtiendrez le message d’erreur localhost ou 127.0 0.1 refused to connect.
Cependant, le port 80 peut parfois être utilisé par une autre application sur votre ordinateur. Par exemple, si Skype l’utilise actuellement, vous ne pourrez pas faire fonctionner simultanément le serveur Apache sur le même port.
Pour résoudre ce problème, vérifions d’abord si le port 80 est libre. Nous allons utiliser XAMPP pour ce faire.
XAMPP est une solution de serveur web utilisée pour créer des sites web hors ligne sur un serveur web local. Il s’agit d’un outil multiplateforme, qui fonctionne donc sous Windows, Mac et Linux. Il est couramment utilisé pour installer WordPress sur un ordinateur local.
Voici la marche à suivre pour vérifier le numéro de port libre sous Windows et Linux – la procédure sera légèrement différente sous Mac.
- Cliquez sur le menu Démarrer pour lancer XAMPP.
- Cliquez sur le bouton Netstat sur le côté droit du panneau de contrôle.
- Vous verrez tous les ports utilisés sur votre ordinateur. Vérifiez si le port 80 est libre ou utilisé par une autre application.
- Si le port 80 est déjà utilisé par une autre application, choisissez un numéro de port libre, par exemple le port 8080.
Ensuite, nous allons nous connecter avec le bon numéro de port à l’aide de la commande listen.
La commande listen est nécessaire pour indiquer à Apache HTTPd de n’écouter que des adresses IP ou des ports spécifiques. Si cette commande n’est pas présente dans le fichier de configuration, votre serveur ne démarrera pas.
Voici les étapes pour changer le port d’Apache dans XAMPP :
- Cliquez sur le menu Démarrer pour lancer XAMPP.
- Vous verrez l’icône XAMPP dans la barre des tâches. Double-cliquez dessus.
- La fenêtre du panneau de contrôle XAMPP apparaît. Elle affiche une liste de tous les services en cours d’exécution.
- Cliquez sur le bouton Stop à côté de Apache.
- Ouvrez l’explorateur de fichiers, puis trouvez le fichier httpd.conf dans le dossier config. Si vous utilisez Windows, il se trouve dans le répertoire C:³xampp³capache³conf. Si vous utilisez Linux, il se trouve dans bin/apache. Sur Mac, le chemin sera Applications/XAMPP/xamppfiles/etc/httpd.conf.
- Ouvrez-le à l’aide du Bloc-notes ou de tout autre éditeur de texte disponible. Recherchez ensuite les lignes suivantes dans le fichier :
Listen 80 ServerName localhost:80
- Si votre port 80 est libre, assurez-vous simplement que le numéro de port dans la commande Listen correspond au numéro de port de l’hôte local. Si une autre application utilise le port 80, remplacez-le par un numéro de port disponible. Dans cet exemple, nous le remplacerons par le port 8080.
Listen 8080 ServerName localhost:8080
- Enregistrez le fichier. Il vous demandera des privilèges administratifs, choisissez Oui.
- Ouvrez à nouveau le panneau de contrôle XAMPP, puis démarrez le serveur web Apache.
- Accédez à http://localhost:8080 ou https://127.0.0.1:8080/ pour vérifier si l’hôte local fonctionne.
Si vous utilisez WAMP – une pile de solutions pour le système d’exploitation Windows – procédez comme suit pour modifier le port d’exécution.
- Cliquez avec le bouton droit de la souris sur la barre des tâches et sélectionnez Gestionnaire des tâches.
- Cliquez sur Fin de la tâche pour toutes les instances de WAMP qui sont encore en cours d’exécution.
- Ensuite, ouvrez l’explorateur de fichiers et naviguez jusqu’au dossier config dans C:\Nwamp\Napache2\Nconf.
- Recherchez le fichier de configuration HTTPD. Ouvrez-le avec un éditeur de texte comme le Bloc-notes.
- Recherchez ces lignes à l’intérieur du fichier :
Listen 80 ServerName localhost:80
- Si votre port 80 est libre, assurez-vous simplement que le numéro de port dans la commande listen correspond au numéro de port de l’hôte local. Si le port 80 est déjà utilisé par une autre application, remplacez le numéro par un port disponible.
Listen 8080 ServerName localhost:8080
- Enregistrer le fichier.
- Ouvrez à nouveau WAMP pour voir si vous obtenez toujours la même erreur.
4. Assurez-vous qu’Apache est en cours d’exécution
Si votre serveur web Apache ne fonctionne pas, vous ne pourrez pas accéder à localhost.
Pour vérifier l’état de votre Apache, la commande varie en fonction de la distribution que vous utilisez.
Voici la commande pour Debian ou Ubuntu :
$ sudo systemctl status apache2
Et voici la commande pour CentOS/RHEL/Fedora :
# systemctl status httpd
Le résultat de ce contrôle d’état indiquera si votre serveur est en cours d’exécution ou arrêté.
S’il vous indique que le serveur est arrêté, essayez de résoudre le problème en le redémarrant à l’aide de la commande suivante.
Pour Debian et Ubuntu :
sudo systemctl restart apache2
Pour CentOS/RHEL/Fedora :
# systemctl restart httpd
La sortie de la commande restart se présente comme suit :
* Restarting web server apache2 [ OK ]
Si la tentative de redémarrage échoue, vous recevrez un message d’erreur. Ce message peut varier en fonction de votre choix de distribution, mais il se présentera sous la forme suivante :
apache2: unrecognized service
Failed to restart apache2.service: Unit apache.service failed to load: No such file or directory.
Si vous voyez ces messages d’erreur, essayez de réinstaller le service. Une fois que vous êtes sûr que le serveur web est installé correctement, redémarrez-le à l’aide de la commande correspondante.
5. Consultez les paramètres du navigateur
Les paramètres de votre navigateur peuvent également être à l’origine de l’erreur 127.0 0.1 “refused to connect”, car chaque navigateur web a une configuration et des caractéristiques différentes.
Par exemple, lorsque vous saisissez une adresse web HTTP, certains navigateurs vous redirigent automatiquement vers son équivalent HTTPS. Toutefois, si ce site possède un certificat SSL non valide ou n’en a pas, vous obtiendrez le message d’erreur “localhost n’autorise pas la connexion”.
Si vous utilisez le navigateur Chrome, suivez ces étapes :
- Entrez chrome://net-internals/#hsts dans la barre d’adresse de votre navigateur.
- Trouvez Supprimer les stratégies de sécurité du domaine, puis tapez localhost.
- Redémarrez le navigateur.
Différence entre “ERR_CONNECTION_REFUSED” et “ERR_CONNECTION_TIMEOUT”
Lorsque vous essayez d’accéder à localhost, vous pouvez rencontrer deux erreurs potentielles – ERR_CONNECTION_REFUSED et ERR_CONNECTION_TIMEOUT. Ces deux erreurs sont étroitement liées mais nécessitent des solutions différentes.
L’erreur “ERR_CONNECTION_REFUSED” de l’hôte local indique que le serveur a rejeté la tentative de connexion, tandis que “ERR_CONNECTION_TIMEOUT” indique que rien ne s’est passé et que le client attend toujours une réponse.
Par conséquent, pour résoudre le problème “ERR_CONNECTION_REFUSED” localhost, vous devez vérifier le pare-feu car c’est lui qui rejette les paquets de données. Vous devez également vérifier la directive Listen dans le fichier httpd.conf et vous assurer qu’elle est correctement définie.
En revanche, pour résoudre le problème “ERR_CONNECTION_TIMEOUT” sur Chrome, vous devez vérifier vos paramètres de connexion, car cette erreur signifie que le service ne fonctionne pas comme il le devrait ou qu’il n’est pas correctement installé.
Conclusion
Le message “localhost n’autorise pas la connexion” est une erreur de connexion au réseau que vous pouvez rencontrer lorsque vous travaillez sur un projet sur votre serveur web local.
Elle se déclenche si le pare-feu bloque votre serveur ou si vous utilisez le mauvais port. L’erreur localhost peut également se produire si votre serveur web Apache ou votre navigateur Chrome n’est pas configuré correctement.
Il existe cinq méthodes pour résoudre l’erreur “localhost n’autorise pas la connexion” :
- Désactivez temporairement votre pare-feu – Désactivez le pare-feu afin qu’il ne signale pas le projet sur votre hôte local comme étant malveillant et qu’il n’en bloque pas l’accès.
- Vider le DNS – Effacer les données existantes du navigateur.
- Connexion avec le port spécifié – Vérifier si le port en cours d’exécution du serveur web Apache est le port 80 ou un numéro de port particulier spécifié pour localhost.
- S’assurer qu’Apache fonctionne – S’assurer également que le serveur web Apache est correctement installé.
- Passez par les paramètres du navigateur – Activez les connexions aux sites sans certificat SSL, comme votre site de test.
Nous espérons que cet article vous aidera à résoudre l’erreur “localhost refused to connect”.
Localhost n’autorise pas la connexion – FAQ
Quelle est l’alternative à localhost ?
Une alternative à l’utilisation de localhost pour le développement local consiste à utiliser l’adresse IP de votre ordinateur comme hôte. Vous pouvez trouver votre adresse IP dans les préférences de votre système ou en tapant ipconfig dans l’invite de commande pour Windows ou ifconfig dans le terminal pour Mac ou Linux.
Qu’est-ce qu’une adresse IP locale ?
L’adresse IP de l’hôte local fait référence à l’ordinateur que l’utilisateur est en train d’utiliser. Il s’agit de l’adresse IP de l’interface réseau de bouclage, à laquelle est généralement attribuée l’adresse IP 127.0.0.1. Les utilisateurs utilisent cette adresse IP pour accéder aux services réseau de l’ordinateur sans se connecter à un réseau externe.