Implémenter une page d'erreur personnalisée dans Apache & nginx - Utilisation de ErrorDocument & error_page
Avoir une page d'erreur de produit par défaut d'Apache HTTP ou Nginx n'a pas l'air bien, et cela revtraite les informations de version, ce qui entraîne une fuite d'informations vulnérabilité.
Si vous n'avez pas mis en œuvre une page d'erreur personnalisée pour votre application Web, vous devez envisager de le faire pour de nombreuses raisons, notamment ci-dessous.
- Création de marque - Affichez des messages personnalisés avec votre logo de la marque et quelques lignes de messages pour informer les visiteurs du problème et un lien pour contacter l'équipe respective.
- Vulnérabilité - Si vous travaillez sur l'environnement de conformité PCI DSS, vous devez envisager de corriger la vulnérabilité de fuite d'informations, qui se trouve dans la page d'erreur du produit par défaut.
- Meilleure interface utilisateur – Il s’agit d’une meilleure expérience utilisateur et que vous pouvez également fournir sur une page d’erreur. Par exemple, si le contenu demandé par un utilisateur n'existe pas, le serveur Web affichera la page d'erreur 404 par défaut et l'utilisateur le plus probable fermera la session. Que diriez-vous d'avoir une page personnalisée sur laquelle un utilisateur peut rechercher ou afficher related articles et une bonne navigation?
Ça m'a l'air bien?
Eh bien, je suis sûr que de cette façon, vous fidélisez les visiteurs pour qu'ils continuent sur un site Web et améliorent le rebond.ates.
Toujours pas convaincu?
Nous allons jeter un coup d'oeil…
Il s'agit donc de la page par défaut «404 non trouvée» de Nginx
Que feriez-vous lorsque vous obtenez cette page?
Très probablement, vous fermerez cela.
Et voici la page «404» personnalisée que j'ai implémentée.
Ça a l'air beaucoup mieux?
Très probablement, vous irez sur «Page d'accueil» ou cliquez sur l'une des recherches ci-dessous. C'est ainsi que la page personnalisée aide.
Vous connaissez maintenant les avantages et il est temps de les mettre en œuvre. Vous pouvez avoir une page personnalisée dans un certain nombre de Code d'état HTTP événements. Je pense que ce qui suit est essentiel.
- 404 - Non trouvé
- 403 - Interdit
- 500 - Internal Erreur du serveur
- 503 Service Indisponible
- 504-Gatefaçon Timeout
Prérequis
Je suppose que vous avez déjà créé une page personnalisée. Si vous avez besoin de 404 images, vous pouvez l'obtenir à partir de Éléments.
Implémentation dans Apache HTTP
Il existe plusieurs façons de procéder. Ex - vous pouvez le faire en utilisant la directive Rewrite ou ErrorDocument. Je vais vous expliquer comment faire avec la directive ErrorDocument.
- Connectez-vous au serveur HTTP Apache
- Accédez au dossier apache conf où vous avez le fichier httpd.conf
- Faites une sauvegarde du fichier httpd.conf
- Modifiez le httpd.conf et ajoutez
ErrorDocument
comme ci-dessous
ErrorDocument 404 /path/of/custom/error/file
ErrorDocument 403 /path/of/custom/error/file
ErrorDocument 500 /path/of/custom/error/file
ErrorDocument 503 /path/of/custom/error/file
ErrorDocument 504 /path/of/custom/error/file
Enregistrez le httpd.conf
et redémarrez le serveur Apache
Essayez d'accéder à quelque chose, qui n'existe pas, et vous devriez avoir une page d'erreur personnalisée au lieu de celle par défaut.
Notes: vous pouvez également rediriger vers une autre URL en cas de ces codes de retour d'état HTTP. Pour la redirection, vous pouvez simplement ajouter une URL à côté de chaque code, comme ci-dessous.
ErrorDocument 404 https://geekflare.com/errorpage
ErrorDocument 403 https://geekflare.com/errorpage
ErrorDocument 500 https://geekflare.com/errorpage
ErrorDocument 503 https://geekflare.com/errorpage
ErrorDocument 504 https://geekflare.com/errorpage
Implémentation dans Nginx
- Connectez-vous au serveur Nginx
- Accédez à l'emplacement du fichier nginx.conf
- Comme d'habitude, effectuez une sauvegarde du fichier de configuration et ajoutez ce qui suit sous le bloc http
error_page 404 /path/of/custom/error/file;
error_page 403 /path/of/custom/error/file;
error_page 500 /path/of/custom/error/file;
error_page 503 /path/of/custom/error/file;
error_page 504 /path/of/custom/error/file;
Enregistrez le fichier et redémarrez Nginx pour que cela se reflète.
Conclusion
Vous voyez, ce petit changement peut avoir un grand impact, alors pourquoi ne pas le mettre en œuvre ?