Base de connaissances
1 000 FAQ, 500 tutoriels et vidéos explicatives. Ici, il n'y a que des solutions !
Ce guide détaille les erreurs de type dépassement de ressources que l'on peut obtenir en gérant et visitant un site Web.
Préambule
- Des limites de ressources sont mises en place pour maintenir l'intégrité, la stabilité et la performance du serveur mutualisé, tout en garantissant une expérience équitable pour tous les utilisateurs.
- Si un site Web ou une application nécessite des ressources significativement plus élevées, il peut être nécessaire de passer à un Serveur Cloud ou autre type d'hébergement virtuel où les ressources sont allouées de manière plus flexible.
Origine des erreurs
Fatal error: Maximum execution time of 30 seconds exceeded
Cette erreur se produit lorsque le serveur a fixé une limite de temps d'exécution pour les scripts, généralement pour éviter des tâches qui prennent trop de temps. Par exemple si un script tente de redimensionner de nombreuses images de grande taille en une seule opération, cela peut dépasser la limite de temps d'exécution autorisée. Le serveur impose cette limite pour garantir une réponse rapide aux requêtes des utilisateurs. Le chemin souvent mentionné dans l'erreur peut vous indiquer une origine plus précise (par exemple Fatal error: Maximum execution time of 30 seconds exceeded in /home/www/1234567abc/web/wp-includes/media.php on line 123
)
memory_limit exceeded
Cette erreur survient lorsque le script ou l'application utilise plus de mémoire que ce qui lui est alloué. Cela peut se produire lorsqu'un script traite un grand volume de données ou lorsqu'il y a une fuite de mémoire. Par exemple, un script de gestion d'image peut consommer plus de mémoire que ce qui est autorisé, ce qui entraîne cette erreur.
Pistes de résolution
Quelques pistes pour résoudre ces erreurs:
- Vérifiez les scripts qui font des connexions multiples au serveur pour afficher des données.
- Optimisez le ou les scripts concernés afin qu'ils nécessitent moins de ressources.
- Augmentez les limites du site concerné pour permettre au script de faire tout ce qu'il a à faire et/ou limiter le nombre de connexions simultanées (surtout sur un Serveur Cloud où les limites (mémoire vive, temps d'exécution, connexions simultanées) peuvent être augmentées significativement).
- Migrez votre hébergement sur Serveur Cloud.
Prenez également connaissance de cet autre guide.
Ce guide explique comment résoudre un problème d'installation de certificat Let's Encrypt si vous utilisez Cloudflare avec des règles de sécurité strictes – surtout celles qui filtrent par pays ou par adresse IP.
Adapter les réglages SSL / geoblocking
Lorsque vous protégez un site Web avec Cloudflare, et que vous souhaitez en même temps obtenir un certificat SSL gratuit Let's Encrypt auprès d'Infomaniak, il peut y avoir des conflits techniques. Ces problèmes proviennent souvent de la manière dont Cloudflare gère la sécurité et les connexions réseau.
Let's Encrypt a besoin de vérifier que vous êtes bien le propriétaire du nom de domaine pour lequel vous demandez un certificat. Pour cela, il envoie ce qu’on appelle un « challenge » : une requête HTTP spécifique vers votre site, à une adresse du type http://domain.xyz/.well-known/acme-challenge/...
. Si cette vérification échoue, le certificat ne peut pas être délivré ou renouvelé.
Le souci, c’est que certaines protections activées sur Cloudflare peuvent bloquer ces vérifications :
- Des règles de sécurité (WAF), par exemple si vous bloquez certaines régions du monde (comme les États-Unis ou la Suisse).
- Des règles personnalisées, comme le filtrage des adresses IP.
- Le blocage géographique (geoblocking), qui empêche certains pays d’accéder à votre site.
Or, Let's Encrypt ne vérifie plus uniquement depuis un seul endroit. Depuis un certain temps (et plus encore depuis mars 2024), il effectue ses vérifications depuis plusieurs pays en même temps – y compris des nouveaux comme la Suède ou Singapour. Résultat : si l’un de ces pays est bloqué par vos réglages Cloudflare, la demande de certificat peut échouer, même si tout le reste est correctement configuré.
Pire encore : même si vous essayez de faire une exception uniquement pour l’adresse du challenge (.well-known/acme-challenge
), cela ne fonctionne pas forcément avec certaines règles Cloudflare. En effet, les règles de blocage par pays ou par IP sont appliquées avant toute exception basée sur des chemins d’URL.
Ajuster le mode SSL/TLS dans Cloudflare
Cloudflare propose différents niveaux de chiffrement SSL. Si vous avez un souci avec le certificat Let's Encrypt, passez en mode "Full" ou "Full (strict)" plutôt que "Strict seul". Ces modes permettent d’utiliser un certificat auto-signé ou expiré temporairement, en attendant que le vrai certificat soit renouvelé.
Utiliser des règles personnnalisées (utilisateurs avancés)
Il est recommandé de ne pas utiliser de "IP Access Rules" qui ne peuvent être outrepassées, mais mettre en place des "Custom rules" avec la geoip ou toute autre règle souhaitée, et surtout en autorisant le path "/.well-known/acme-challenge/
" sans restriction d'accès pour que les challenges Let's Encrypt passent malgré la restriction en place.
Désactiver temporairement le blocage géographique
Si vous bloquez l’accès à votre site depuis certains pays (par exemple pour éviter les attaques), pensez à lever cette restriction temporairement le temps que Let's Encrypt puisse faire sa vérification. Une fois le certificat délivré ou renouvelé, vous pouvez réactiver les protections.