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

  1. getent hosts api.interne : résolution réelle selon nsswitch.
  2. Comparer avec dig +short api.interne.
  3. 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.