Application qui joint une ancienne IP après une migration (entrée /etc/hosts obsolète)
```text curl: (7) Failed to connect to api.interne port 8443: Connection timed out ```
Détecter
Après la migration d'une API vers un nouveau serveur, un seul serveur applicatif continue d'appeler l'ancienne adresse ; dig renvoie pourtant la nouvelle IP.
Symptômes
Après la migration d'une API vers un nouveau serveur, un seul serveur applicatif continue d'appeler l'ancienne adresse ; dig renvoie pourtant la nouvelle IP.
Environnement
Serveurs Linux, résolution via /etc/nsswitch.conf (hosts: files dns), DNS interne BIND.
Cause racine
Une entrée ajoutée manuellement dans /etc/hosts pendant un ancien incident pointe vers l'ancienne IP. files étant consulté avant dns, elle est prioritaire. dig interroge directement le DNS et ne montre pas ce que voit l'application.
Diagnostic
getent hosts api.interne: résolution réelle selon nsswitch.- Comparer avec
dig +short api.interne. grep api.interne /etc/hosts.
Solution
Supprimer l'entrée obsolète, puis vider les caches éventuels (resolvectl flush-caches, redémarrage de l'application si elle met en cache la résolution — cas fréquent de la JVM).
Commandes
getent hosts api.interne
dig +short api.interne
sudo sed -i '/api\.interne/d' /etc/hosts
nc -vz api.interne 8443
Prévention
Interdire les modifications manuelles de /etc/hosts (gestion par configuration), TTL DNS réduit avant une migration, supervision synthétique depuis chaque serveur applicatif.