Forum en Panique - peut-être après la mise à jour

Long post…

Il y a quelques jours, j’ai migré mon forum vers un nouveau serveur. La migration s’est bien déroulée et les utilisateurs ont pu se connecter et l’utiliser normalement. Cependant, après 2-3 heures de connexion, les utilisateurs ont constaté qu’ils ne pouvaient plus l’utiliser. Je n’ai pas vu le problème initialement, mais en 10-15 minutes, j’ai constaté que mon compte était également affecté. Ce que je voyais, c’était la page du forum se répétant sur la page mais avec le contenu manquant… donc l’en-tête… un peu de texte… l’en-tête à nouveau… un peu de texte à nouveau… l’en-tête à nouveau… etc.

J’ai supposé que quelque chose s’était mal passé lors de la migration, donc comme il y avait très peu de messages depuis la migration et que j’avais toujours l’ancien serveur disponible, j’ai simplement redémarré le forum sur l’ancien serveur et redirigé le DNS vers celui-ci. Cela me donnerait le temps de comprendre ce qui n’allait pas et de réessayer la migration.

Puis aujourd’hui, mon ‘ancien’ forum m’a demandé de m’indiquer qu’il y avait des mises à jour critiques nécessaires. Je les ai appliquées et les choses semblaient être OK. Cependant, une heure ou deux plus tard, l’ancien forum présentait le même problème d’affichage étrange que mon forum migré.

Je pense donc qu’il y a quelque chose qui ne va pas après la mise à niveau. Le serveur migré aurait récupéré le dernier code lors de sa création, il a donc présenté le problème immédiatement. L’ancien forum n’a reçu les mises à jour qu’aujourd’hui et a commencé à devenir ‘fou’ peu de temps après.

Jusqu’à présent, j’ai essayé sans succès :

  1. ./launcher rebuild app
  2. Commenter tous les plugins dans app.yml et ./launcher rebuild app
  3. Exécuter en mode sans échec avec toutes les options activées
  4. Vider le cache du navigateur
  5. Essayer différents navigateurs (Chrome, Edge, Firefox et Opera)

Le problème semble être progressif pour les utilisateurs connectés. Je me suis connecté avec un compte de test aujourd’hui et cela n’a pas montré le problème, mais lorsque j’ai essayé cela sur le serveur migré, le compte de test a fini par présenter les mêmes problèmes. Malheureusement, je ne peux rien faire de plus pour le moment car mon compte administrateur présente le problème, il est donc inutilisable.

J’ai une sauvegarde d’avant la mise à niveau, mais je suspecte que cela ne va pas aider. Si je reconstruis le forum, il récupérera les dernières mises à jour, donc si je restaure le contenu dedans, il va probablement redevenir fou en quelques heures.

Configuration du serveur :

Debian 12 exécutant Docker Swarm v26.1.4. 120 Go d’espace disque disponible. 64 Go de RAM dont seulement environ 20 Go sont actuellement utilisés. Les connexions au serveur se font via Cloudflare Tunnels. L’ancien serveur dispose de moins d’espace disque et de mémoire disponibles, mais aucun des deux n’est saturé.

J’essaie de réfléchir à ce que je peux faire d’autre maintenant pour essayer de remettre les choses en ligne. Je suis ouvert aux suggestions !

Minification automatique peut-être ?

6 « J'aime »

Merci pour la suggestion.

C’était activé. Je ne suis pas sûr pourquoi, car je ne l’active normalement pas. Je l’ai désactivé (JS, CSS et HTML) mais je vois toujours les pages se répéter en faisant défiler l’écran.

PS. Je note que la minification automatique de Cloudflare sera dépréciée début août.

Avez-vous également suivi les instructions pour vider le cache Cloudflare ?

1 « J'aime »

Oui. Le cache Cloudflare (et le cache du navigateur) a été vidé après la désactivation de l’auto-minification.

1 « J'aime »

Dans ce cas, je vous recommande de vérifier la console du développeur de votre navigateur pour voir s’il y a des erreurs lorsque le problème survient.

Vous pourriez également essayer à nouveau le mode sans échec maintenant que vous avez résolu le problème de Cloudflare.

1 « J'aime »

Le mode sans échec fonctionne maintenant. Aucune erreur dans la console JavaScript, à l’exception d’un avertissement de dépréciation de fuseau horaire. Je vais revenir au thème par défaut et désactiver tous les composants du thème pour voir si cela fonctionne correctement en dehors du mode sans échec, puis les réactiver un par un pour voir si je peux le cerner.

Je vais mettre un peu de temps avant de pouvoir confirmer comment les choses se passent car le taxi de Papa doit partir en voyage !

1 « J'aime »

Il semble bien que la minification automatique soit le coupable. Je ne sais pas comment/quand elle a été activée. Je ne l’ai pas fait sciemment, ayant déjà eu des problèmes similaires avec d’autres systèmes par le passé. Je soupçonne que Cloudflare a récemment (je crois) ajouté un bouton pour activer un ensemble de paramètres de base afin d’améliorer la façon dont les navigateurs interagissent avec les sites web. J’ai examiné les changements suggérés et activé ceux qui semblaient sensés et sûrs. Je suis retourné examiner à nouveau les options et je ne vois aucune référence à la minification automatique, mais peut-être a-t-elle été activée dans le cadre des ‘paramètres de base’ ?

La mise en cache Cloudflare explique également pourquoi ce problème est apparu soudainement des heures après que j’ai appliqué les mises à jour de Discourse. J’ai configuré la mise en cache TTL du navigateur Cloudflare sur 4 heures. Je n’ai pas purgé le cache Cloudflare après la mise à jour, donc pendant quelques heures après, les gens recevaient toujours les anciens fichiers ‘bons’ qu’ils recevaient depuis des semaines depuis la dernière mise à jour de Discourse. Puis, après 4 heures, Cloudflare a commencé à mettre à jour son propre cache, a vu les nouveaux fichiers Discourse et les a minifiés avant de les ajouter à son cache. Ensuite, lorsque les navigateurs ont demandé des mises à jour pour leurs propres caches, ils ont reçu les fichiers corrompus. Comme les navigateurs mettaient à jour leurs propres caches à des moments différents, chaque utilisateur a vu les choses mal tourner à des moments différents.

Leçons apprises :

  1. Purgé le cache Cloudflare après avoir appliqué une mise à jour Discourse. Cela semble évident maintenant, mais je n’y avais pas pensé avant !
  2. Ne pas activer la minification automatique. J’ai dû le faire mais je ne sais pas comment/quand. Je savais déjà que ce n’était pas une bonne idée, ayant déjà cassé un site Wordpress avec cela il y a quelque temps, mais cela a renforcé le message.

Un grand merci à @JammyDodger et @david pour m’avoir aidé à résoudre ce problème :smiley:

1 « J'aime »

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.