Dépannage

Codes d'erreur HTTP sur KapsuleHost

What 403, 404, 500, 502, 503 and 504 actually mean on this platform, and the specific thing to do about each one.

Qu'est-ce que les codes d'erreur HTTP signifient réellement

Les codes 403, 404, 500, 502, 503 et 504 sur cette plateforme, et ce qu'il faut faire pour chacun.

Un code d'erreur n'est pas un message générique d'échec. Il vous indique quelle couche de la pile a abandonné, ce qui réduit énormément les causes possibles. Un 502 et un 504 peuvent sembler identiques à un visiteur mais ont des causes et des solutions complètement différentes.

Lire le vrai code

Avant de dépanner, obtenez le vrai numéro. Une jolie page d'erreur peut afficher une chose tandis que le serveur en retourne une autre.

Dans votre navigateur, ouvrez les outils de développement, allez à l'onglet Réseau, rechargez la page et cliquez sur la première requête. Le statut se trouve en haut du panneau En-têtes.

Depuis un terminal:

curl -sSI https://yourdomain.com/

Cela affiche la ligne de statut et les en-têtes de réponse sans télécharger la page. Les en-têtes sont importants: plusieurs des cas ci-dessous sont identifiés par un en-tête plutôt que par le code seul.

La version courte

CodeSignificationC'est le problème de qui
401Authentification requiseLa protection par mot de passe est activée
403Refusé intentionnellementUne règle de sécurité a bloqué la requête
404Non trouvéVotre site, généralement le routage
500Votre application a plantéVotre code ou un plugin
502Le serveur derrière le serveur web a échouéGénéralement votre application
503Ne servant pas intentionnellement en ce momentSuspendu, paused ou maintenance
504A pris trop de tempsQuelque chose dans votre code est lent

401 Non autorisé

Vous verrez une boîte de nom d'utilisateur et de mot de passe du navigateur plutôt qu'une page. Cela signifie que la protection par mot de passe basique est activée sur le site ou sur ce chemin.

Désactivez-la ou obtenez les identifiants, depuis Websites, le site, Advanced, puis Password protection. Voir Protection par mot de passe.

Le renouvellement du certificat continue à fonctionner tandis que la protection par mot de passe est activée, cela ne cassera donc pas votre HTTPS.

403 Accès interdit

403 signifie que quelque chose a intentionnellement refusé la requête. Sur cette plateforme, il y a quatre sources distinctes.

Le pare-feu d'application web. Chaque site se trouve derrière un moteur de règles qui inspecte les requêtes entrantes et bloque celles correspondant à des modèles d'attaque connus. C'est la source la plus courante d'un 403 inattendu, et c'est presque toujours un faux positif sur une requête légitime mais inhabituelle: une soumission de formulaire long, un générateur de page sauvegardant un contenu complexe, un plugin publiant du code brut.

Symptômes d'un blocage par pare-feu: une action spécifique échoue avec 403 à chaque fois tandis que le reste du site fonctionne bien, et elle échoue de manière identique dans un navigateur différent et sur un réseau différent.

La solution est une exclusion de règle ciblée, que le support peut ajouter. Ne cherchez pas un commutateur pour éteindre le pare-feu; il n'en existe pas pour l'hébergement mutualisé, et ce serait de toute façon la mauvaise solution. Ouvrez un ticket avec l'URL exacte, l'heure exacte et ce que vous faisiez. Voir Ouverture d'un ticket de support.

Le blocage géographique. Si vous avez restreint votre site à des pays particuliers, tous les autres obtiennent un 403. Vérifiez Advanced, puis Security. Voir Blocage géographique.

Un blocage d'IP. Soit un que vous avez ajouté vous-même sous Security, soit un blocage d'abus au niveau de la plateforme.

Un problème de permission de fichier ou de symlink. Moins courant, et cela se manifeste généralement après une opération manuelle sur fichiers via SSH.

404 Non trouvé

Le serveur a répondu, mais il n'y a rien à cette adresse.

Une page affiche 404. Le fichier ou l'article n'existe vraiment pas, ou l'URL est mauvaise.

Toutes les pages sauf la page d'accueil affichent 404. C'est un problème de routage, et sur WordPress c'est presque toujours les permaliens. Important: l'hébergement web Kapsule utilise nginx, pas Apache, donc les règles de réécriture .htaccess ne fonctionnent pas ici. Si vous avez migré d'un hôte qui les utilisait, c'est votre cause. Voir Problèmes de permaliens et WordPress et .htaccess.

Le site entier affiche 404. Vérifiez que le site pointe vers la bonne racine de documents et que votre domaine est attaché au bon site. Voir Domaine personnalisé pour un site web.

Cela fonctionne sur votre machine et affiche 404 en direct. Les noms de fichiers Linux sont sensibles à la casse. Logo.PNG et logo.png sont deux fichiers différents.

500 Erreur interne du serveur

Votre application s'est exécutée et s'est plantée. Le serveur web fonctionne bien; le code ne fonctionne pas.

C'est le seul cas où les journaux vous donnent la réponse presque immédiatement, car une erreur fatale PHP enregistre le fichier et le numéro de ligne qui a échoué, ce qui nomme généralement exactement le plugin.

  1. Allez à Websites, le site, Advanced, puis Logs.
  2. Regardez les entrées les plus récentes.
  3. Associez l'horodatage à celui où vous avez vu l'erreur.

Voir Journaux d'erreur. Pour la version spécifique à WordPress, où la page est vide plutôt que d'afficher une erreur, voir L'écran blanc WordPress.

Les causes les plus courantes sont un plugin ou un thème incompatible avec votre version PHP, une limite de mémoire atteinte et une connexion à la base de données qui échoue. Voir Extensions et paramètres PHP et Limite de mémoire WordPress.

502 Mauvaise passerelle

Le serveur web a tenté de transmettre la requête à votre application et n'a rien d'utilisable en retour. Le processus d'application a refusé la connexion ou s'est arrêté au milieu de la requête.

Causes courantes:

  • Un processus PHP s'est planté, souvent en manquant de mémoire sur une requête.
  • Une application Node.js n'est pas en cours d'exécution ou s'est plantée au démarrage.
  • Une rafale de trafic a épuisé les processus de travail disponibles.

Ce qu'il faut faire: vérifiez d'abord les journaux, comme ci-dessus. S'il s'agit d'une application Node, vérifiez si le processus est vraiment en cours d'exécution et regardez sa sortie de démarrage. Si les 502 n'apparaissent que lors de vos heures les plus chargées, c'est un problème de capacité plutôt qu'un bug. Voir Lenteur du site et limites de ressources.

Un 502 de la part de KPanel lui-même, lors de la sauvegarde d'un paramètre, signifie quelque chose de différent. Cela signifie que le panel n'a pas pu appliquer le changement de configuration au serveur web, et il a annulé le changement plutôt que de laisser votre site à moitié configuré. Votre site web n'est pas affecté. Réessayez, et si cela continue d'échouer, ouvrez un ticket.

503 Service indisponible

503 signifie que le serveur ne sert pas intentionnellement en ce moment. Il y a trois causes spécifiques sur cette plateforme, et la réponse vous dit laquelle.

Votre site est suspendu. Vous verrez une page intitulée "This site is paused". C'est un état de facturation ou de compte, pas une faute technique, et le site revient immédiatement quand l'état se dissipe. Vérifiez Billing. Voir Paiement échoué et Compte suspendu.

Un projet Orbit a atteint son plafond de dépenses. La réponse porte l'en-tête X-Orbit-Paused: spending-cap, et la page dit que le site a atteint son plafond de dépenses mensuelles. Celui-ci confond les gens parce que rien n'est cassé et aucun ticket de support n'est nécessaire. Le projet a délibérément arrêté de servir pour que vous ne reçoviez pas une facture inattendue.

Pour reprendre: allez à Orbit, le projet, Settings, puis Spending cap, et augmentez le plafond. Le service reprend une fois le changement détecté, ce qui peut prendre jusqu'à une heure. Il reprend aussi automatiquement au début de la période de facturation suivante. Voir Plafonds de dépenses Orbit.

Maintenance de la plateforme. Une page de maintenance de plateforme entière, ce qui est rare et annoncé. Vérifiez Statut et disponibilité.

504 Dépassement du délai de la passerelle

Votre application fonctionnait toujours quand le serveur web a manqué de patience. Rien ne s'est planté. C'était juste trop lent.

Causes typiques:

  • Une opération d'importation, d'exportation, de sauvegarde ou de masse longue effectuée via le navigateur.
  • Un plugin appelant une API externe lente sur chaque chargement de page.
  • Une requête de base de données coûteuse sans index derrière elle.
  • Une tâche cron déclenchée par une vue de page plutôt que par une vraie cron.

Ce qu'il faut faire:

  1. Identifiez quelle requête est lente. L'onglet APM sur les sites WordPress vous le montre. Voir Performance du site.
  2. Pour les opérations longues, utilisez la ligne de commande plutôt que le navigateur. Voir WP-CLI.
  3. Déplacez le travail programmé vers une vrai cron. Voir Tâches cron.
  4. Augmentez max_execution_time si le travail a vraiment besoin de plus de temps, bien que ce soit un contournement plutôt qu'une solution. Voir Extensions et paramètres PHP.

Notez la différence: si PHP atteint sa propre limite d'exécution en premier, vous obtenez un 500, pas un 504. Les deux signifient "trop lent", à différentes couches.

Pas de réponse du tout

Parfois, il n'y a pas de code d'erreur, car il n'y a pas de réponse. La connexion pend simplement et finit par expirer.

Si cela se produit depuis un réseau mais que le site fonctionne depuis un autre, et surtout depuis un téléphone sur données mobiles, la cause la plus probable est un blocage automatique d'abus: une rafale d'erreurs ou des tentatives de connexion échouées depuis votre adresse ont déclenché un ban temporaire au niveau du réseau. Ceux-ci se dissipent d'eux-mêmes, généralement dans une heure. Si vous avez besoin de l'annuler plus tôt, contactez le support avec l'adresse IP depuis laquelle vous vous connectez.

Pages d'erreur personnalisées

Vous pouvez remplacer la page d'erreur par défaut pour 400, 401, 403, 404, 500, 502, 503 et 504 par votre propre HTML, sous Websites, le site, Advanced, puis Error pages. Kapsule fournit des valeurs par défaut de marque pour 404, 500, 502, 503 et 504 si vous ne le faites pas.

Une chose à savoir: une page d'erreur personnalisée conserve le vrai code de statut. Un 404 personnalisé retourne toujours 404. Servir votre page d'erreur avec un statut 200 est une façon classique de détruire vos classements de recherche, et c'est délibérément impossible ici. Voir Pages d'erreur personnalisées.

Guides connexes

Vous avez besoin d'aide?

Envoyez-nous un email à support@kapsulehost.com ou ouvrez un chat dans KPanel.

Ouvrir KPanel