Nous avons déplacé notre serveur d’un fournisseur de VPS à un autre et j’ai mis à niveau l’instance via launcher rebuild vers la dernière version également, de 3.5.0.beta3 à 3.5.0.beta4.
L’instance fonctionnait toujours bien derrière Cloudflare, mais maintenant, essayer d’y accéder entraîne une animation de chargement infinie avec 5 points.
J’ai une entrée dans mon fichier hosts sur mon système local pour contourner Cloudflare, car mon FAI (Deutsche Telekom AG) a des politiques de peering merdiques, de sorte que l’accès via Cloudflare est parfois très lent. Donc, au début, je n’ai pas remarqué le problème, car l’accès sans Cloudflare fonctionne bien. J’ai donc mis à niveau l’instance, et par conséquent, je ne suis plus sûr si le VPS modifié ou la mise à niveau de Discourse était le changement pertinent. J’ai assuré via VPN et réseau mobile que le problème est bien Cloudflare lui-même maintenant, pas le mauvais peering de mon FAI, et d’autres utilisateurs rencontrent également le même problème. L’ancien et le nouveau VPS ont l’IPv6 disponible, et tout le système est exactement le même, transféré sous forme de fichier image brut.
Il n’y a aucun message d’erreur, ni dans le navigateur (console), ni par le proxy du système hôte, ni par Nginx dans le conteneur, ni par Rails ou ailleurs. Les documents HTML et plusieurs scripts se chargent correctement, et en les comparant avec ceux servis lors du contournement de Cloudflare, tout (ce que j’ai vérifié) est identique. Les en-têtes de réponse semblent également en grande partie identiques, à part quelques-uns spécifiques à Cloudflare, bien sûr. Les dernières choses que je vois se charger sont le mini profiler :
Bien sûr, vider le cache du navigateur, utiliser des fenêtres privées, etc., n’ont rien changé. Vider/désactiver le cache Cloudflare n’aide pas non plus, donc le cache n’est pas le problème. J’ai temporairement désactivé complètement le cache CF pour l’ensemble du forum.
Il est notable de dire que le forum fonctionne sur un sous-chemin derrière un proxy Apache sur l’hôte, en suivant ces instructions : Serve Discourse from a subfolder (path prefix) instead of a subdomain
Auparavant, nous avions simplement créé un lien symbolique ln -s . forum au lieu des liens symboliques uploads/backups et doublé les réécritures des instructions, ce qui a bien fonctionné pendant des années (et fonctionne aussi maintenant sans Cloudflare), mais dans le cadre de mes efforts de débogage, je suis passé à ces instructions pour m’assurer que le proxy interne applique toutes les règles comme prévu. L’en-tête de confiance est CF-Connecting-IP, bien que j’aie également activé cloudflare.template.yml, même si cela double un peu les choses. Et j’ai aussi essayé de revenir en arrière et d’aller de l’avant sur diverses parties de ces modèles et instructions ci-dessus, également dans le but de vérifier si les en-têtes IP du proxy font une différence, car l’absence de CF-Connecting-IP est une chose lors du contournement de Cloudflare.
À ce stade, je suis complètement à court d’idées, je n’ai aucune trace de l’origine du problème, aucun journal/sortie connexe nulle part. Via Cloudflare, Discourse reste bloqué dans l’animation de chargement sans aucune autre trace.
J’espère que quelqu’un aura une idée sur la façon de déboguer cela, ou s’il y a eu un changement entre 3.5.0.beta3 et 3.5.0.beta4 qui pourrait être lié. Je suppose qu’une rétrogradation est problématique ?
C’est l’instance : https://dietpi.com/forum/
EDIT : J’ai désactivé Cloudflare pour l’instant. Mais il y a un CNAME qui est toujours transmis via Cloudflare, donc ces deux-là peuvent être comparés : https://www.dietpi.com/forum/


