Bug #3684
ferméMauvaise gestion du HTTP status pour les erreurs 404
100%
Description
Bonjour,
Dans le contexte Silverpeas, quand on essaye d'accéder à une information inexistante, on tombe sur une page 404 spécifique à Silverpeas. Cette page ne respecte pas le protocole HTTP/1.1 parce qu'elle retourne un status code 200 au lieu du status code 404.
Exemple :
http://www.wikipedia.fr/silverpeas.html -> HTTP/1.1 404 Not Found
http://maplateforme/silverpeas/silverpeas.html -> HTTP/1.1 201 Created
Fichiers
Mis à jour par Pierre TEISSONNIERE il y a environ 12 ans
En fait, pour mieux comprendre notre problématique, nous avons en frontal un reverse proxy qui réécrit les erreurs 404 à notre sauce. Vu que Silverpeas ne renvoie pas un statut 404, impossible de l'intercepter. Par contre, ça fonctionne bien pour les contextes non silverpeas (/, /azerty, /etc, ...)
Mis à jour par Nicolas Eysseric il y a environ 12 ans
- Catégorie mis à Look
- Statut changé de New à Assigned
- Assigné à mis à Anonyme
- Version cible mis à Version 5.11
Le problème vient du fait que nous redirigeons les erreurs 404 vers une page JSP et non pas une page HTML.
La page actuelle doit donc être transformée en page HTML. Les libellés multilingues devront être récupérés via le plugin JQuery i18n et nos service REST de traductions.
En attendant la correction, vous pouvez désactiver la page JSP en supprimant l'élément suivant du fichier JBOSS_HOME/server/default/deploy/silverpeas/silverpeas.ear/war-ic.war/WEB-INF/web.xml
:
<error-page> <error-code>404</error-code> <location>/Error404.jsp</location> </error-page>
Mis à jour par Anonyme il y a environ 12 ans
Bonjour Pierre,
Est il possible de tester si cela fonctionne pour votre reverse proxy avec la JSP suivante (fichier joint) ou je force le status code à 404 ?
Pour tester il est nécessaire d'écraser la page JSP existante par celle-ci dans le répertoire $JBOSS_HOME/server/default/deploy/silverpeas/silverpeas.ear/war-ic.war
Dans mon navigateur, Firefox m'indique bien que la page arrive avec un code 404 avec cette nouvelle version.
Sinon je passerai à partir d'une page HTML + javascript i18n.
Cdlt
Mis à jour par Pierre TEISSONNIERE il y a environ 12 ans
Bonjour Etienne,
C'est parfait. Il y a bien un statut de retour "404 Introuvable". Merci.
Mis à jour par Pierre TEISSONNIERE il y a environ 12 ans
Re,
Test effectué sur une plateforme avec reverse proxy. L'erreur 404 est bien générée et le reverse proxy l'intercepte.
Mis à jour par Anonyme il y a environ 12 ans
- Statut changé de In progress... à Resolved
Voir le pull request github-218
Mis à jour par Nicolas Eysseric il y a environ 12 ans
- Statut changé de Resolved à Closed
- Version cible changé de Version 5.11 à Version 5.10.2
- % réalisé changé de 0 à 100