Un 503, c'est le serveur qui dit « pas maintenant ». C'est le seul 5xx qui soit parfois correct : le mode maintenance renvoie 503 exprès, et un moteur de recherche qui le lit reviendra plus tard au lieu d'abandonner la page.
Est-ce délibéré ?
- Un CMS laissé en mode maintenance — WordPress laisse un fichier
.maintenancederrière lui quand une mise à jour échoue à mi-chemin. - Une limite de débit qui fait son travail : un 503 accompagné d'un en-tête Retry-After.
- Un script de déploiement qui a mis le site derrière une page d'attente et ne l'a pas retirée.
ls -la /path/to/site/.maintenance && rm /path/to/site/.maintenance
Ou bien est-il à court ?
Si rien n'est délibéré, le serveur n'a plus la capacité d'accepter la requête. Lisez d'abord la charge : le chiffre vous dira quelle ressource a manqué.
uptime; free -m; df -h
- Une charge bien au-dessus de votre nombre de cœurs — trop de travail, pas assez de processeur.
- Presque pas de mémoire libre et du swap en usage — la machine s'épuise et tout est lent.
- Un disque plein — rien ne peut écrire, et la plupart des services renvoient un 503 plutôt que d'abîmer les données.
Le disque plein est la cause la plus fréquente et la moins soupçonnée. Vérifiez-la d'abord : cela coûte une commande et c'est souvent toute la réponse.
Ne supprimez jamais des journaux pour libérer de la place tant qu'un service y écrit — l'espace n'est rendu qu'au moment où le processus ferme le descripteur. Tronquez plutôt :
: > /var/log/big.log