Projet

Général

Profil

Actions

Bug #3684

fermé

Mauvaise gestion du HTTP status pour les erreurs 404

Ajouté par Pierre TEISSONNIERE il y a plus de 11 ans. Mis à jour il y a plus de 11 ans.

Statut:
Closed
Priorité:
Normal
Assigné à:
-
Catégorie:
Look
Début:
12/09/2012
Echéance:
% réalisé:

100%

Temps estimé:
Navigateur:
Tous
Votre version de Silverpeas:
5.10
Système d'exploitation:
Votre base de données:
PostgreSQL
Livraison en TEST:
Livraison en PROD:

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

Error404.jsp (3,2 ko) Error404.jsp Anonyme, 18/09/2012 15:37

Mis à jour par Pierre TEISSONNIERE il y a plus de 11 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 plus de 11 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 plus de 11 ans

  • Statut changé de Assigned à In progress...

Mis à jour par Anonyme il y a plus de 11 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 Anonyme il y a plus de 11 ans

Mis à jour par Pierre TEISSONNIERE il y a plus de 11 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 plus de 11 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 plus de 11 ans

  • Statut changé de In progress... à Resolved

Voir le pull request github-218

Mis à jour par Nicolas Eysseric il y a plus de 11 ans

  • Statut changé de Resolved à Closed
  • Version cible changé de Version 5.11 à Version 5.10.2
  • % réalisé changé de 0 à 100
Actions

Formats disponibles : Atom PDF