Erreurs
❌ Erreur Linux "Connection refused" — Causes et Solutions
🐧 Erreur Linux
Connexion refusée — le port est fermé ou le service n'écoute pas
L'erreur
Connection refused (ECONNREFUSED) signifie que l'hôte destination est joignable mais qu'il n'y a aucun service en écoute sur ce port. L'hôte répond activement avec un paquet TCP RST pour refuser la connexion.⚠️ Causes possibles
Service arrêté ou planté
Le daemon (nginx, sshd, mysql...) n'est pas démarré
Service écoute sur mauvais port
Le service écoute sur le port 8080 mais vous tentez le 80
Service écoute uniquement sur localhost
Bind sur 127.0.0.1 au lieu de 0.0.0.0
Firewall bloque le port
iptables / ufw / firewalld refuse les connexions entrantes
Mauvaise adresse IP
Connexion vers la mauvaise IP ou le DNS pointe vers une mauvaise IP
Service plante au démarrage
Le service démarre puis crash immédiatement
🔧 Solutions étape par étape
1
Vérifier si le service tourne
# Voir l'état d'un service systemd systemctl status nginx systemctl status sshd systemctl status mysql # Voir les logs du service journalctl -u nginx -n 50 journalctl -u sshd --since "10 minutes ago" # Démarrer un service arrêté systemctl start nginx systemctl enable nginx # Démarrage automatique
2
Vérifier les ports en écoute
# Voir tous les ports TCP en écoute ss -tulnp # ou netstat -tulnp # Vérifier un port spécifique ss -tulnp | grep :80 ss -tulnp | grep :22 ss -tulnp | grep :3306 # Voir quel processus écoute sur le port 80 fuser 80/tcp lsof -i :80
3
Vérifier le bind address du service
# Nginx — vérifier listen grep -r "listen" /etc/nginx/ # Doit contenir : listen 0.0.0.0:80; ou listen 80; # Si 127.0.0.1:80 → accessible seulement en local ! # MySQL — vérifier bind-address grep bind-address /etc/mysql/mysql.conf.d/mysqld.cnf # Changer 127.0.0.1 → 0.0.0.0 pour accès distant # SSH — vérifier ListenAddress grep ListenAddress /etc/ssh/sshd_config
4
Tester la connexion
# Tester un port TCP nc -zv 192.168.1.10 80 nc -zv localhost 3306 # Tester avec curl curl -v http://192.168.1.10:80 curl -v https://192.168.1.10:443 # Tester SSH ssh -v user@192.168.1.10 ssh -p 2222 user@192.168.1.10
5
Vérifier et ouvrir le firewall
# UFW (Ubuntu) ufw status ufw allow 80/tcp ufw allow 443/tcp ufw allow 22/tcp # iptables iptables -L INPUT -n -v | grep :80 iptables -A INPUT -p tcp --dport 80 -j ACCEPT # firewalld (CentOS/RHEL) firewall-cmd --list-ports firewall-cmd --add-port=80/tcp --permanent firewall-cmd --reload
🛡️ Comment éviter cette erreur
- ✅ Après chaque installation de service, vérifier avec
ss -tulnpqu'il écoute sur la bonne adresse - ✅ Utiliser
systemctl enablepour activer le démarrage automatique au boot - ✅ Configurer le bind address correctement :
0.0.0.0pour accès réseau,127.0.0.1pour local uniquement - ✅ Mettre en place un monitoring (Zabbix) pour alerter si un service s'arrête
Ajouter Les Fibrés à mes sources préférées
Retrouvez plus souvent nos guides dans vos résultats Google